我知道以前已经以各种形式询问过这个问题,但是我似乎无法解决这个问题。我尝试使用jQuery和本机JS API发出Ajax请求。
我的情况如下(参见附图):
在任何人开始关于跨域请求的讲座之前,我先说几件事:
Access-Control-Allow-Origin
在响应中设置标头的原因(并且我使用的是Chrome和Firefox,两者均支持CORS)那么,为什么,为什么,为什么浏览器在进行HTTPS Ajax调用时不传递cookie?有任何想法吗?我将失去理智…
+-----------+ HTTP Request +-----------+
|Browser |+---------------->|Server |
+-----------+ +-----------+
HTTP Response
<----------------+
Set-cookie
Ajax HTTP Req.
+---------------->
Cookie (OK)
HTTP Response
<----------------+
Set-cookie (OK)
Ajax HTTPS Req.
+---------------->
No Cookie (!!!)
好的,找到解决cookie问题的方法。
请参阅XHR规范,jQuery文档和StackOverflow。
切换协议和/或子域时发送cookie的解决方案是将withCredentials
属性设置为true
。
例如(使用jQuery)
$.ajax( {
/* Setup the call */
xhrFields: {
withCredentials: true
}
});
问题内容: 如何通过 HTTPS* 发送ajax GET 请求? * 抛出这个: 是否有其他方法或解决方法可以使此工作正常进行? 如果我使用 Chrome 浏览到该网址,则可以得到响应。我认为没有理由为什么它不能在ajax请求上正常工作。 问题答案: 如果您由于当前处于 同一来源策略 而无法访问该页面,则无法向该页面发出AJAX请求。 **** 的 主机 , 端口 和 方案 (协议)必须在为了使A
问题内容: 我的网站上有一些关于HTTPS连接的页面。从这些HTTPS页面中,我必须使用HTTP Ajax请求来进行一些错误检索,例如空白字段。但是此错误消息不会出现。是否有解决方案,或者我必须提出AJAX请求以通过HTTPS连接进行归档? 问题答案: 由于同源政策,这是不可能的。 您还需要将Ajax请求切换为https。
问题内容: 通过AJAX从标准HTTP页面调用HTTPS页面(例如信用卡授权服务,例如WorldPay)是否会有问题? 我无法想象为什么会有问题,响应将是HTML页面,然后我可以将其嵌入结果窗格或类似的页面? 问题答案: 是的,这将是跨域发布,并且将被浏览器阻止。
问题内容: 我似乎在发出请求以及保持数组中数据完整性方面遇到一些问题。 给出以下代码段: 我捕获给定页面上所有背景图像的URL。现在,尝试通过请求获取每个图像的大小,我使用以下代码段: 但是,当我通过via 转储时,每个元素(应该是包含URL和content- length的数组)最终都以上次请求的大小始终在哪里 我很困惑,尽管这似乎是一个时间/范围问题。我这里有某种竞赛条件吗? 问题答案: 问题
我有个大麻烦。我必须将应用程序中的一些参数发布到URL。但是,当我试图在WebView对象中执行此操作时,它会向我报告一个异常,该异常表示“不受信任的证书”(该异常由WebViewClient onReceivedSslError()的重写中的方法报告)。如何才能与服务器正确握手?你能给我一些提示吗?我快疯了... 真的,真的谢谢... 编辑:这是我定义webview的方式 这就是我在WebVie
5.4 通过 HTTPS 的通信 大多数智能手机应用都与互联网上的 Web 服务器通信。 作为通信的方法,我们在这里集中讨论 HTTP 和 HTTPS 的两种方法。 从安全角度来看,HTTPS 通信更为可取。 最近,Google 或 Facebook 等主要 Web 服务已经开始使用 HTTPS 作为默认设置。 自 2012 年以来,Android 应用中 HTTPS 通信实现的许多缺陷已被指出。