php – 何时使用json和jsonp使用jquery $.ajax?

在我们的网站中,有些页面是SSL,有些是非SSL.

例如:

http://www.example.com/search/patients
https://www.example.com/patients

现在我在http://www.example.com/search/patients页面上搜索病人,并通过jQuery $.ajax函数和dataType = json将服务器请求发送到https://www.example.com/patients.我无法获取数据.

问题:

>当我们从http请求https或https到同一服务器上的http时,我应该使用jsonp吗?
>如果我对两个URL都使用SSL,那么它只适用于dataType = json

谢谢

解决方法:

由于Same Origin Policy,只有在以下情况下才允许您的ajax请求:
域名,应用层协议和(在大多数浏览器中)端口
运行脚本的HTML文档的编号是相同的

在您的情况下,应用程序层协议是不同的,这就是您的脚本失败的原因.

可能的解决方案是

> JSONP,必须由服务器提供
> CORS,这是一个更“优雅”和干净的解决方案,但尚未完全支持IE(IE7不支持它,IE8有一些限制)

上一篇:javascript – JSONP和XMLHttpRequest问题


下一篇:javascript – 当JSONP数据发生变化时