在成功回调中的parseJSON之后,属性为null

Ala*_*lan 0 ajax jquery

作为AJAX调用的一部分,我有一个属性"success",如下所示:

success: function(msg) {
          console.log( msg );
          var obj = $.parseJSON( msg );

          if (obj.code=="1")
          {
            ...
          }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我期待一个JSON字符串,实际上有一个从服务器返回,如下所示: {"code":"1","message":"1","name":"Alan"}

该JSON字符串是在NET/Response选项卡下显示在FireBug中的内容.哪个好.你可以看到我正在使用parseJSON(...)来获取对象的句柄.但是当条件语句执行时,我被告知obj是NULL.那不可能是好事!我不知道那里发生了什么.

您会注意到我向控制台打印了msg变量.这是看起来像:

对象{code ="1",message ="1",name ="Alan"}

我在返回的JSON字符串和打印到控制台的内容之间看到的唯一区别是我们将冒号替换为等号符号.我不知道这是不是很重要?

以前有人遇到过这个吗?请指教.

艾伦

Mus*_*usa 6

控制台的日志表明msg已经从json解析为一个对象.不要$.parseJSON只使用msg作为对象.
另外,如果您期望从请求中获得json响应,请将$ .ajax dataType参数设置json为确保将json解析为对象.