我使用ajax返回错误消息。返回对象如下所示
{"readyState":4,"responseText":"{\"Message\":\"The request is invalid.\",\"ModelState\":{\"\":[\"Email 'dsfasdf' is invalid.\"]}}","responseJSON":{"Message":"The request is invalid.","ModelState":{"":["Email 'dsfasdf' is invalid."]}},"status":400,"statusText":"Bad Request"}
我想知道(showError.responseText).ModelState[""]
是否存在
我尝试了以下代码。但不起作用
if ((showError.responseText).ModelState[""]) {
console.log('Key is exist in Object!');
}
if ((showError).hasOwnProperty("ModelState[0]")) {
console.log('Key is exist in Object!');
}
最佳答案
您返回的值包含嵌套的 JSON。 jQuery 将为您反序列化父对象(假设响应的 MIME 类型配置正确),但是您需要手动反序列化 repsonseText
才能使用它。试试这个:
var response = {
"readyState": 4,
"responseText": "{\"Message\":\"The request is invalid.\",\"ModelState\":{\"\":[\"Email 'dsfasdf' is invalid.\"]}}",
"responseJSON": {
"Message": "The request is invalid.",
"ModelState": {
"": ["Email 'dsfasdf' is invalid."]
}
},
"status": 400,
"statusText": "Bad Request"
}
// in your AJAX handler function:
var rt = JSON.parse(response.responseText);
if (rt.ModelState)
console.log(rt.ModelState);
关于jquery - 如何使用Jquery检查Json对象是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60745174/