通过HTTPS的Ajax GET请求

Ajax GET request over HTTPS

本文关键字:GET 请求 Ajax HTTPS 通过      更新时间:2023-09-26

如何通过HTTPS发送ajax GET请求?

$.get抛出:

XMLHttpRequest cannot load https://********. Origin null is not allowed by Access-Control-Allow-Origin. 

是否有另一种方法或一些变通方法来获得此工作?

如果我导航到url与Chrome我能够得到响应。我看不出为什么它不应该工作在一个ajax请求。

由于同源策略,如果您当前处于http,则无法向https页面发出AJAX请求。

主机端口方案(协议)必须是相同的,以便AJAX请求工作。

您可以确保原始页面位于相同的主机和方案上,或者在目标域中实现CORS(跨域资源共享)以允许此特定请求。

[jQuery v. 3.3.1]

我有一个web应用程序,其中所有的资源和流量是通过HTTPS。

然而,我发现我不能发送$.ajax()或任何特定的$.get, $.post等,由于(Chrome输出):

拒绝连接'http://mywebapp/api/mycall',因为它违反了以下内容安全策略指令:"connect-src 'self'".

这是由于HTTPS页面通过HTTP发出AJAX请求,我没有办法强制HTTPS。

什么是疯狂的是什么修复它。调用$.get('/api/mycall/')将输出上述错误"拒绝连接到'http://mywebapp/api/mycall'",它省略了代码中实际调用中的结束正斜杠。因此,从错误中可以看出,正斜杠好像不在那里。

我已经做了多次调用,当url中有一个结束斜杠被调用时,每个调用都失败了。没有它,同样的人也能成功。

所以调用$.ajax({ url: '/api/mycall'})工作,而$.ajax({ url: '/api/mycall/'})不。