假设响应是{"errmsg":"Error_BB"}
或{"msg":"I am BB"}
。
var jsonparsed = JSON.parse(response);// OK, It works
var key = Object.getOwnPropertyNames(jsonparsed);// key can be msg or errmsg, OK, It works
if("errmsg" == key)
{
throw ("Error says:"+jsonparsed.key); //It cannot work but if jsonparsed.errmsg, it works
}
else
{
alert("Data says:"+jsonparsed.key); //It cannot work but if jsonparsed. msg, it works
}
我收到此警报:
该错误表示该值未定义
为什么呢,既然key好像定义为比较条件就可以确定了。
我无法抛出或产生警报消息。但是,如果 key 被替换为 errmsg 或 msg ,如注释中所示,它可以工作。