Ajax请求:本地跨域的问题

Posted hjy180708

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax请求:本地跨域的问题相关的知识,希望对你有一定的参考价值。

问题出现一:

1.Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

释:请求源仅支持http、data、chrome、chrome-extension、https协议。

出现此问题是我将ajax请求的url写成了以文本协议访问,换句话说就是,涉及到 AJAX 操作的页面“不能”使用文件协议访问(文件的方式访问)。

技术分享图片

 

根据网络上的解决方案:设置主流浏览器的请求参数或是在sublime编辑器中安装插件,我都使用过了,还是没有用。

后来查资料,涉及到了一个同源策略的概念,大概了解一下。

我将请求的url改成以http协议访问,即:xhr.open(‘GET‘,‘http://localhost/Ajax/request-url.php‘)。

然后重新访问,然而。。。。。

出现问题二:

2. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘null‘ is therefore not allowed access.

释:在请求源里没有允许控制源的请求,即在服务器响应客户端的时候,带上Access-Control-Allow-Origin头信息。

所以,我在请求源的头部加入这行代码:header("Access-Control-Allow-Origin: *");

然后继续访问,duang~ 问题解决啦。

以上是关于Ajax请求:本地跨域的问题的主要内容,如果未能解决你的问题,请参考以下文章

SpringMVC中利用@CrossOrigin注解解决ajax跨域请求的问题

如何解决跨域问题

解决ajax跨域的办法,代理,cors,jsonp

ajax 跨域请求

解决Ajax不能跨域的方法

Vue基础系列(二十五)——axios解决ajax请求跨域的问题——方式二