Php 何时使用json,何时将jsonp与jquery$.ajax结合使用?

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

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

例如:

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

  • 如果我对这两个URL都使用SSL,那么它是否只适用于
    dataType=json


  • 谢谢

    如果您对这两个URL都使用SSL,它应该可以工作。正如@Waqas-Raja所建议的,最好使用相对URL

    e、 g.
    $.ajax({url:'/search/patients'})

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

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

    可能的解决办法是:

    • ,必须由服务器提供

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


    您需要使用CORS、代理或JSONP从不同来源获取内容。更改方案(从http更改为https或其他方式)正在更改源

    将数据从安全服务器拉入不安全页面消除了使用SSL的许多好处


    如果您通过SSL获取页面和数据源,那么您可以使用纯JSON,而不会引入这些安全问题。

    我想AJAX请求可以通过相对路径而不是绝对路径进行。