Php 何时使用json,何时将jsonp与jquery$.ajax结合使用?
在我们的站点中,有些页面是SSL,有些是非SSL 例如:Php 何时使用json,何时将jsonp与jquery$.ajax结合使用?,php,jquery,ajax,cakephp,jsonp,Php,Jquery,Ajax,Cakephp,Jsonp,在我们的站点中,有些页面是SSL,有些是非SSL 例如: http://www.example.com/search/patients https://www.example.com/patients 现在我正在http://www.example.com/search/patientspage并将服务器请求发送到https://www.example.com/patients通过jQuery$.ajax函数和dataType=json。我无法获取数据 问题: 当我们在同一台服务器上从http
http://www.example.com/search/patients
https://www.example.com/patients
现在我正在http://www.example.com/search/patients
page并将服务器请求发送到https://www.example.com/patients
通过jQuery$.ajax
函数和dataType=json
。我无法获取数据
问题:
http
请求到https
或https
请求到http
时,是否应该使用jsonp
dataType=json
谢谢如果您对这两个URL都使用SSL,它应该可以工作。正如@Waqas-Raja所建议的,最好使用相对URL e、 g.
$.ajax({url:'/search/patients'})
由于您的ajax请求,仅在以下情况下才允许使用:
域名、应用层协议和(在大多数浏览器中)端口
运行脚本的HTML文档数相同
在您的情况下,应用层协议不同,这就是脚本失败的原因
可能的解决办法是:
- ,必须由服务器提供
- ,这是一个更“优雅”和干净的解决方案,但尚未完全得到IE的支持(IE7不支持,IE8有一些限制)
如果您通过SSL获取页面和数据源,那么您可以使用纯JSON,而不会引入这些安全问题。我想AJAX请求可以通过相对路径而不是绝对路径进行。