Bootstrap

ajax本地都不能跨域,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 操作的页面“不能”使用文件协议访问(文件的方式访问)。

b238085b35114f949117a2696963c9fb.jpg

根据网络上的解决方案:设置主流浏览器的请求参数或是在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~ 问题解决啦。

;