日期:2014-05-16  浏览次数:20387 次

关于服务端返回JSON对象,却被解析为JSON字符串的问题,在线等!
前端使用一下代码提交并处理后续结果

function del(id){
      if(confirm('确认要删除此关键字吗?')){
$.post('./keyword',{ op:'del',id:id },function(result){
alert(result); //正常这个部分应该显示的是object:object,但现在显示的是一个字符串
if( result.code != 0 ){
alert("删除失败!");
}else{
location.reload();
}
});
}
}


服务端使用以下代码返回

echo json_encode(array("code"=>0));
exit;


正常情况下在前端alert result这个变量,应该显示的是object:object,可现在显示的却是这个json字符串。

------解决方案--------------------
觉得没错,你在客户端解析一下这个字符串。要返回json设置一下

contentType: "application/json"
------解决方案--------------------
网络中传输的肯定是字符串啊, 序列化的目的就是将对象转成字符串,以便于网络传输, 所以任何返回结果只可能是字符串
------解决方案--------------------
设置一下可以让返回值直接转换为js对象 
感觉不必纠结啊  自己转下呗 jquery又有定义好的方法
------解决方案--------------------
看看是不是  php其它地方有输出字符。。。