Ajax-常见报错

MDN CORS错误信息集合

问题一、Reason: CORS request not http

//Chrome
Access to XMLHttpRequest at 'file:///E:/Ajax/db.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
//火狐
已拦截跨源请求:同源策略禁止读取位于 file:///E:/Ajax/db.json 的远程资源。(原因:CORS 请求不是 http)

这种情况经常发生在 URL 指定本地文件,例如使用了 file:/// 的 URL。也就是说你向一个以file:///打头的url发起请求,这是不行的

如果仅用于前端学习ajax的话,可以安装一个随启随用的静态文件服务器anywhere或http-server(只要搞个服务器就行,不嫌麻烦用node、tomcat上也行。安装方法略)


问题二、Reason: CORS header ‘Access-Control-Allow-Origin’ missing

//Chrome
Access to XMLHttpRequest at 'http://locally.uieee.com/categories' from origin 'http://localhost:8000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
//火狐
已拦截跨源请求:同源策略禁止读取位于 http://locally.uieee.com/categories 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

对 CORS 请求的响应缺少必需的Access-Control-Allow-Origin头,其用于确定在当前源内操作的资源是否可以访问。

简单来说就是这时发生了跨域请求,你要请求的那个地址它拒绝了你的请求

有两种解决办法 点击进入跨域请求专题jsonp、cors跨资源共享

原文地址:https://www.cnblogs.com/L-xmin/p/12593787.html