【问题】
JSON对象取值"succeeded"
和字符串常量"succeeded"
判断相等为false。
代码:
var obj = JSON.parse(data);//JSON字符串转对象
var stat = "\""+obj.submitStatus+"\"";
console.log(typeof(stat));
console.log(stat);
console.log(stat.trim() == "succeeded");
console.log(encodeURIComponent(stat).trim());
if (stat =="succeeded") {
...
} else if (stat =="failed") {
...
}
【解决】
我在取值时多加了一对引号
var stat = "\""+obj.submitStatus+"\"";
浏览器打印出来是这样的。我以为字符串打印出来应该就是有引号的,所以没觉得有问题,但实际上打印没有引号。
应该是下面这样。
var stat = obj.submitStatus;
所以,这就是为什么判断为不相等。
<%=%>
输出赋值给变量)搞混了,那个是要加引号的。原文:https://www.cnblogs.com/musecho/p/13185853.html