我有一个现有的jQuery插件,它使大量的阿贾克斯的电话(主要是JSON).我想知道什么是最快的,以允许它这样做的跨网站即电话美元.获得和$。职位网址将不能从同一个领域。

我有听说过他,但想知道如果有人能给我一个具体的例子来去整个过程。我想做最小的改变,如果可能的,我的脚本。我应该用一个proxy.php 各种各样的?

谢谢您的时间。

有帮助吗?

解决方案

JSONP可以让你做跨站点调用。 查看关于该问题的jQuery文档。

这个概念很简单:与其做一个正常的Ajax调用,jQuery将一个<script>标签附加到<head>。为了使这项工作,你的JSON数据需要被包裹在一个 函数调用。

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

$json = json_encode($data);
echo $_GET['jsonp_callback'] . '(' . $json . ');';

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

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

更多信息,请访问:什么是JSONP

其他提示

如果你必须控制在远程域或远程域有一个宽松的 crossdomain.xml 你可以在图书馆喜欢 flXHR 在与其结合 jQuery插件.

您也可以使用CORS而不是JSONP,用FF,铬,Safari浏览器的工作原理。 CORS是设置更少麻烦的,而且只需要在服务器侧的过滤器。

请通过这个article.Well解释和类似。 唯一的限制是IE浏览器不支持此和旧版本的FF,铬也有一定的问题。

HTTP://techblog.constantcontact的.com /软件开发/使用-CORS换跨域-Ajax的请求/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top