因为要把一个页面放上github pages ,但是ajax跨域请求会报错。所以要加载本地json文件。
但是我在网上搜的如下两个办法都不管用
- 直接把url换成本地文件路径,
url: './js/mock.json',
2 .$.getJSON("./js/mock.json",function(data){…});
会报如下错误:
XMLHttpRequest cannot load file:///Users/yzy/github/news-list/js/mock.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
以上错误提示是由于AJAX方法涉及到 跨域
的问题导致!
由于没有在服务器环境里运行含有ajax方法的页面,而是直接通过浏览器打开(类似file:///的访问形式,即file协议)
本地页面ajax()请求本地页面,须通过服务器环境运行
,类似这样:
http://localhost:63342/news-list/index.html?_ijt=r4oc2kbn4dnemosa8u77ervm07
PS. xx.json
文件的路径是相对于index.html
的,而不是js文件。