什么时候使用json和jsonp时使用jquery $ .ajax?

Awa*_*wan 3 php ajax jquery jsonp cakephp

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

例如:

http://www.example.com/search/patients
https://www.example.com/patients
Run Code Online (Sandbox Code Playgroud)

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

问题:

  1. 我应该使用jsonp,当我们从申请httphttpshttpshttp同一台服务器上?

  2. 如果我对两个URL使用SSL,那么它dataType=json只能用于

谢谢

mam*_*moo 5

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

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

可能的解决方案是

  • JSONP,必须由服务器提供

  • CORS,这是一个更"优雅"和干净的解决方案,但尚未完全支持IE(IE7不支持它,IE8有一些限制)