Прототип плагина для кросс-доменного запроса? (на сайты других хостов!)

Существуют ли плагины или лучшие практики для кросс-доменных запросов ajax?

Я нашел только это: http://www.mellowmorning.com/2007/10/25/introducing-a-cross-site-ajax-plugin-for-prototype/ но у меня это не сработало...

редактировать: я попробовал сначала с прототипом 1.7, после переключения на 1.5 он работал... Но почему он больше не поддерживается в 1.7?! Есть идеи как получить работу в 1.7?

1 ответ

Если вы не найдете родного решения Prototype, то можете попробовать использовать jQuery только для AJAX и Prototype для всего остального. Это всего лишь 29 КБ, и вы можете горячую ссылку из Google (или других CDN на выбор). Просто включите в ваш HTML и Prototype, и jQuery, и не забудьте вызвать jQuery.noConflict(), потому что в противном случае jQuery будет использовать функцию $(), которую также использует Prototype:

<script src="//ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script>
    jQuery.noConflict();
</script>

И теперь вы можете использовать оба из них в своем скрипте примерно так:

// using jQuery:
jQuery.ajax({
    url: 'http://...',
    type: 'POST',
    dataType: 'jsonp',
    data: {
        // ...
    },
    success: yourHandler
});

// using Prototype:
function yourHandler(data) {
    // use returned data
}

Смотрите DEMO (работает с Prototype 1.7 и jQuery 1.5)

Другие вопросы по тегам