我有XMLHttpRequest()
函数,如下所示
var searchFriendRequests = function (userid) {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost:6344/api/Registeration/searchFriendrequests?userid=' + userid, false);
xhr.setRequestHeader("Content-Type", "text/xml");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var data = xhr.responseText;
}
}
};
xhr.send(null);
}
其中xhr.responseText
将值返回为
{
"$id": "1",
"ContentEncoding": null,
"ContentType": null,
"Data": [
{
"$id": "2",
"email": "anu@gmail.com"
},
{
"$id": "3",
"email": "anu@gmail.com"
}
],
"JsonRequestBehavior": 1,
"MaxJsonLength": null,
"RecursionLimit": null
}
如何从Data
获取responseText
字段?
答案 0 :(得分:39)
使用JSON.parse(),例如:
var data=xhr.responseText;
var jsonResponse = JSON.parse(data);
console.log(jsonResponse["Data"]);
答案 1 :(得分:9)
首先需要在JSON中解析responseText,为此你应该使用JSON.parse()。然后你可以使用密钥访问它。
var json = JSON.parse(xhr.responseText);
var yourData = json.Data; // or json["Data"]
答案 2 :(得分:3)
答案 3 :(得分:2)
现在有一段时间你可以使用:
xhr.responseJSON
无需任何解析。希望它有所帮助
答案 4 :(得分:0)
应首先解析对json对象的响应,然后从响应中获取数据字段
var responseText = JSON.parse(xhr.responseText),
data = responseText.Data;
答案 5 :(得分:0)
当您提出ajax请求时,您可以提供dataType
option:
dataType: 'json'
收到回复时提出此类请求:
如果指定了
json
,则在作为对象传递给成功处理程序之前,使用jQuery.parseJSON
解析响应。解析的JSON对象通过responseJSON
对象的jqXHR
属性提供。
您可以访问以下数据:
var data = xhr.responseJSON
完整示例:
$ajax.({
dataType: 'json',
success: function( xhr ) {
var yourData = xhr.responseJSON;
console.log( yourData );
},
});
答案 6 :(得分:-1)
var jsonResponse = JSON.parse(xhr.responseText);
console.log(jsonResponse);