javascript奇怪的比较字符串
这个问题在这里已经有了答案:
如果console.log(response)
的输出是
{"type":"success","desc":"something"}
那么response
很可能仍然是一个字符串(包含JSON),并且字符串没有type
属性:
> "foo".type == "error" // `undefined` is never equal to a string
false
对象在控制台中通常看起来不同:
> console.log({"type":"success","desc":"something"})
Object {type: "success", desc: "something"} // in Chrome and Firefox at least
解决方案 :首先解析字符串:
response = JSON.parse(response);
与jQuery相关:
我注意到你打算让jQuery为你解析JSON,但是你传递了"json"
给错误的函数。 您必须将它传递给$.post(...)
,而不是.done(...)
:
$.post("sendEmail.php", post_data, "json").done(...);
// instead of
// $.post("sendEmail.php", post_data).done(..., "json");
那么你不需要手动解析它。
相关:在JavaScript中解析JSON?
链接地址: http://www.djcxy.com/p/19435.html