问题一: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的用法请自行百度)
(直接打开静态文件)
(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
头,其用于确定在当前源内操作的资源是否可以访问。
[解决]:点击进入跨域请求专题