是否有针对ajax跨域查询的插件或最佳做法?
我发现只有这一个:http://www.mellowmorning.com/2007/10/25/introducing-a-cross-site-ajax-plugin-for-prototype/但它对我不起作用......
编辑:我首先尝试使用原型1.7,切换到1.5后就可以了......但是为什么不再支持1.7?任何想法是如何在1.7中工作?
答案 0 :(得分:2)
如果您没有找到原生Prototype解决方案,那么您可以尝试仅将jQuery用于AJAX,将Prototype用于其他所有内容。它只有29kB,您可以通过Google热链接(或other CDNs来选择)。只需在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)