使用jQuery的跨站点AJAX

Ale*_*art 6 javascript ajax jquery cross-site

我有一个现有的jQuery插件,它可以进行大量的AJAX调用(主要是JSON).我想知道什么是最快允许它进行跨站点调用,即$ .get和$ .post URL不会来自同一个域.

我听说过JSONP,但是想知道是否有人可以给我一个具体的例子来讲述整个过程.我希望尽可能对我的脚本进行微小的更改.我应该使用各种proxy.php吗?

感谢您的时间.

And*_*ore 13

JSONP将允许您进行跨站点呼叫.请参阅jQuery文档.

这个概念很简单:jQuery不会执行普通的Ajax调用,而是将<script>标记添加到您的<head>.为了使其工作,您的JSON数据需要包含在函数调用中.

您的服务器需要以这种方式发送信息(PHP示例):

$json = json_encode($data);
echo $_GET['jsonp_callback'] . '(' . $json . ');';
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用jQuery来获取该信息:

$.ajax({
  dataType: 'jsonp',
  jsonp: 'jsonp_callback',
  url: 'http://myotherserver.com/getdata',
  success: function () {
    // do stuff
  },
});
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见:JSONP什么?