[报错解决]Ajax常见问题

MDN CORS错误信息集合

问题一:Reason: CORS request not http

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)

[解释]:

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

[解决]:

如果仅用于前端学习ajax的话,可以安装一个随启随用的静态文件服务器anywhere,只要搞个服务器就行,不嫌麻烦用node、tomcat上也行。npm安装命令:npm i anywhere -g(npm的用法请自行百度)

[报错解决]Ajax常见问题 (直接打开静态文件)

[报错解决]Ajax常见问题(anywhere命令打开静态文件服务器)

 

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

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头,其用于确定在当前源内操作的资源是否可以访问。

[解决]:点击进入跨域请求专题

 

上一篇:django-cors-headers


下一篇:asp.net webapi 解决跨域问题