我有一个现有的jQuery插件,它可以进行大量的
AJAX调用(主要是
JSON).我想知道什么是允许它进行跨站点调用最快,即$.get和$.post URL不会来自同一个域.
我听说过JSONP,但是想知道是否有人可以给我一个具体的例子来讲述整个过程.我希望尽可能对我的脚本进行微小的更改.我应该使用各种proxy.PHP吗?@H_502_3@
感谢您的时间.@H_502_3@
解决方法
JSONP将允许您进行跨站点呼叫.
See jQuery docs on that matter.
这个概念很简单:jQuery将附加一个< script>而不是正常的Ajax调用.标记到您的< head>.为了使其工作,您的JSON数据需要包装在一个
功能调用.@H_502_3@
您的服务器需要以这种方式发送信息(PHP示例):@H_502_3@
$json = json_encode($data); echo $_GET['jsonp_callback'] . '(' . $json . ');';
然后,您可以使用jQuery来获取该信息:@H_502_3@
$.ajax({ dataType: 'jsonp',jsonp: 'jsonp_callback',url: 'http://myotherserver.com/getdata',success: function () { // do stuff },});
更多信息请访问:What is JSONP?@H_502_3@