jQuery中ajax取得本地json的一个问题

2017-08-09  本文已影响189人  YZY君

因为要把一个页面放上github pages ,但是ajax跨域请求会报错。所以要加载本地json文件。
但是我在网上搜的如下两个办法都不管用

  1. 直接把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文件。

上一篇下一篇

猜你喜欢

热点阅读