Uncaught SyntaxError: Unexpected token :

版权声明:本文为博主原创文章,未经博主允许不得转载。 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。

jsonp获取json数据

[javascript]  view plain  copy
  1. <script type="text/javascript" src="http://www.w3dev.cn/rardownload/20130106/20130106170832648.js"></script>    
  2. <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>    
  3. <script>    
  4.     $.ajax({    
  5.         url: 'http://query.yahooapis.com/v1/public/yql',    
  6.         dataType: 'jsonp',    
  7.         data: {    
  8.             q: "select * from json where url=\"http://www.w3dev.cn/json.asp\"",    
  9.             format: "json"    
  10.         },    
  11.         success: function (d) {    
  12.            alert(JSON.stringify(d))//远程json数据放在query.results下    
  13.         }    
  14.     });   
http://query.yahooapis.com/v1/public/yql JSONP跨域接口API使用说明

猜你喜欢

转载自blog.csdn.net/qq_31997407/article/details/79472268