NutzCN Logo
问答 升级到1.r.55 跟jQuery 的parseJSON配合的问题.
发布于 2885天前 作者 wuzhou126 1679 次浏览 复制 上一个帖子 下一个帖子
标签:

最近把nutz版本从1.b.52更新到1.r.55,但是发现项目中Ajax的部分都不能使用了。
后台返回定义是@Ok("json"),返回Json字符串,页面使用$.parseJSON转一手对象,使用新版本Nutz后js一直报解析错误。
采用火狐跟踪后,发现回调data参数竟然不用parseJSON了. 直接变成对象了。
CODE:

$.post("xxxxx.do",{},
	    		function(data){
			  data = $.parseJSON(data); //1.r.55不需要这个方法转一手对象了么?
			  if(data.ok){
				 ......
			  }else{
				 .....
			 }
});

版本降回1.b.52后,一切又正常。

4 回复

根源是 "后台返回定义是@Ok("json"),返回Json字符串" 哦,你就不该返回字符串

是1.r.55 针对这个地方做了改动处理么?

为啥, 我用回1.b.52 就不会碰到这种问题.

我返回的json字符串主要是业务操作成功方面的 {"ok":true,"message":"登陆成功","url":"/client/client_infos"}

我直接查看这个入口函数的返回,确认是json字符串, 但是一进入jquery 的post回调方法, 就默认转换成json对象了

是的,改了默认的Content-Type, 可以自行设置, 在MainSetup的init方法加入

UTF8JsonView.CT = "text/plain"; // 新版默认是application/json

知道了, 谢谢

添加回复
请先登陆
回到顶部