jsonp对返回的json格式报错"Uncaught SyntaxError: ?报错-问答-阿里云开发者社区-阿里云

开发者社区> 爱吃鱼的程序员> 正文

jsonp对返回的json格式报错"Uncaught SyntaxError: ?报错

2020-06-22 13:12:27 196 1

用jsonp返回了一个json串后做页面填充,但是报错说json格式错误,不知道这个jsonp如何操作?

jQuery(document).ready(function(){ 
	var moviesServiceUrl="http://m.weather.com.cn/data/101010100.html";
	jQuery.ajax({
	  dataType: "jsonp",
	  url: moviesServiceUrl,
	  jsonp: "$callback",
	  success: showMovies
	});
});

function showMovies( data ) {
	console.info("asdfasdf");
	var json=JSON5.parse(data);
	var weather=json.weatherinfo ;
	var markup = "<li><b>${city_en}</b> (${date_y})</li>";
	jQuery.template( "tt1", markup );
	jQuery.tmpl( "tt1", weather ).appendTo( "#target2" );
}

console打印" Uncaught SyntaxError: Unexpected token :" 如图:

如果我把json弄到本地做解析是是正确的,json如下:

{
    "weatherinfo": {
        "city": "北京",
        "city_en": "beijing",
        "cityid": "101130101",
        "date": "",
        "date_y": "2014年1月23日",
        "wind6": "微风"
    }
}

本地解析方法如下:

var json=JSON5.parse(data);
if(json){
 var weather=json.weatherinfo ;
 var markup = "<li><b>${city_en}</b> (${date_y})</li>";
 jQuery.template( "tt1", markup );
 jQuery.tmpl( "tt1", weather ).appendTo( "#target2" ); 
}

上面那个错误真的不知道如何弄了,在线求大虾.

取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-22 13:12:42

    你处理的json语法有问题哈,把json返回的信息贴全哈,或者你把信息放在<arel="nofollow">http://tool.oschina.net/codeformat/json里面试下了这个都没有打印呢,console.info("asdfasdf");还没到我处理呢,已经报错说json格式有问题了,但我格式化是正常的没问题的.

    跨域问题吧jsonp可以跨站 

    json不能跨站

    jsonp的格式稍微特殊点

    jsonp的返回数据可不是json字符串

    问题就是需要跨域获取一个json串,如何操作?

    jsonp的返回数据格式应该是:客户端传递的回调方法名称(json数据)吧?例如:
     myMethod(json数据);myMethod就是客户端指定的回调方法名称

    不是js,那个地址返回的是json格式的,回复<aclass='referer'target='_blank'>@zp-wmhx:你可以在页面头部使用js引用啊<scriptsrc="url"></script>url返回对应的js文件或对象要跨域获取一个json,就上面那个网址的,这个该如何操作呢?

    <spanstyle="background-color:#FFE500;">[结贴]

    貌似那个json格式不能解析或者说是不能通过js跨域获取再解析,算了吧,还是后台返回给页面做吧,

    这跟前端代码没关系,用jsonp跨域请求的话,服务器端返回json格式是callback({...});如果是正确的jsonp请求返回的json格式(方法名+json数据),那就直接解析呗回复<aclass='referer'target='_blank'>@难道你还记得我吗:服务器返回就是json串,怎么办?像你贴出来的代码,服务器应该返回$callback({"",...});这种形式,客户端才能解析LZ最后怎么解决的呀??回复<aclass='referer'target='_blank'>@zp-wmhx:这个确实是缺陷,不过我最近做的一个项目是把widget打包在android的webview上,这样浏览器的权限(设置webview和js互动的相关属性)就完全由我操控,所以才本地用这样的方法回复<aclass='referer'target='_blank'>@木喜木喜:那这个仅仅是自己做测试行,想后台挂机跑就不行了呀.回复<aclass='referer'target='_blank'>@zp-wmhx:http://blog.csdn.net/muxidreamtohit/article/details/41963383回复<aclass='referer'target='_blank'>@木喜木喜:disable什么?回复<aclass='referer'target='_blank'>@木喜木喜:话说,用disable之后就直接暴力get了<divclass='ref'>

    引用来自“木喜木喜”的评论

    LZ最后怎么解决的呀??

    请问楼主这个问题解决了吗,后台代码改写返回数据的格式没?

    这是因为返回的已经是Json对象了。直接用就可以了

    0 0
相关问答

4

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 123712浏览量 回答数 4

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157086浏览量 回答数 145

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 92894浏览量 回答数 28

3

回答

Logstash采集文件名称以及自定义格式的日志文件采集

Snorlax 2019-06-18 11:51:28 114655浏览量 回答数 3

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146786浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 145626浏览量 回答数 31

1

回答

出现这个问题求解决This XML file does not appear to have any

淘合肥 2017-04-08 21:07:00 89231浏览量 回答数 1

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 135561浏览量 回答数 42

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 85188浏览量 回答数 23

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 471427浏览量 回答数 24
+关注
爱吃鱼的程序员
https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
2
文章
21569
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载