本文共 614 字,大约阅读时间需要 2 分钟。
在写demo使用pycharm打开时运行正常,单独使用浏览器打开时报错,详细如下:
网上查了这是跨域问题, 因为浏览器收到同源策略的限制,当前域名的js只能读取同域下的窗口属性。 同源策略: 不同的域名, 不同端口, 不同的协议不允许共享资源的, 保障浏览器安全。 前端最佳的解决办法就是使用jsonp Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。 应用如下:①比如你要访问tiku.json数据;正常使用jquery获取代码如下:
}$(function(){ $.getJSON('tiku.json',function(data,status){ console.log(data); })})
然而这样浏览器包跨域错误。
使用jsonp的解决办法如下
除了在前端修改意外,还需要修改tiku.json内容,
修改前(举例):{‘name’:[{"n1":1,"n2":2}],"value":[{"v1":"a","v2":"b"}]}
修改后(举例):
demo({‘name’:[{"n1":1,"n2":2}],"value":[{"v1":"a","v2":"b"}]})
总的来说就是把tiku.json所有内容content,防止在函数javascript定义的demo函数中,即demo(content)
转载地址:http://beben.baihongyu.com/