版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31997407/article/details/79472268
json格式错误Uncaught SyntaxError: Unexpected token :
该错误是由于返回的结果格式错误导致,我出现这个错误的原因是由与jsonp的跨域请求,但是返回的json而导致的错误。在这里由于jsonp的跨域请求返回的应该是callback(json);但是接口返回的是json,所以错误。
解决方法:
1、改造后台的接口,让后台将json放在你jsonp发给后台的callback中;
2、采用yql,也就是yahoo提供的jsonp代理,进行jsonp的跨域请求,返回json。
- <script type="text/javascript" src="http://www.w3dev.cn/rardownload/20130106/20130106170832648.js"></script>
- <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
- <script>
- $.ajax({
- url: 'http://query.yahooapis.com/v1/public/yql',
- dataType: 'jsonp',
- data: {
- q: "select * from json where url=\"http://www.w3dev.cn/json.asp\"",
- format: "json"
- },
- success: function (d) {
- alert(JSON.stringify(d))//远程json数据放在query.results下
- }
- });