在前端我们通过jquery 获取数据我们最先想到的是
$.ajax({
type: 'get',
url: './jsondata.json',
async: false,
dataType: 'json',
success: function(data){
debugger;
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
debugger;
}
})
but 在浏览器上运行会报错:
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
报错信息:浏览器不支持跨域
通俗的讲,浏览器有一个很重要的安全机制,即为同源策略:不用域的客户端脚本在无明确授权的情况下不能读取对方资源,跨域也就是不同源。
那我们就要问了,那咋办
两种解决思路:1.将你的json 文件放到跟js文件 相同服务器下,通过 请求接口的形式解决 (这个不详细说明)
2.通过jsonp 形式解决 (只支持Get方式) ==》 借鉴前辈们的做法
json.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">