从 json 响应中获取键值
Getting key value from json response
试图获取键值 returns null,但它 returns 所有数据都采用 json 格式。响应在下方添加为图片
$("#txtbox").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "url.aspx/GetData",
data: "{'Prefix':'" + request.term + "'}",
dataType: "json",
success: function (data) {
$.each(data, function (i, field) {
var data = JSON.stringify(data);
console.log(data.diagnosisdesc);
});
},
error: function (result) {
alert("Error");
}
});
},
minLength: 3
});
服务器的响应有一个对象:d
;该对象是一个数组,因此您需要遍历该数组,然后遍历每个数组值。每个数组值都将包含一个对象,因此您可以根据需要使用 jQuery 函数 $.each
循环这些对象(避免使用 hasOwnProperty
过滤迭代对象)。
根据 jQuery UI 插件,您需要将数组传递给 response
回调。数组的每个值必须是包含两个属性的对象:value
和 label
,因此您需要 map
服务器的响应以创建数组并将其传递给 response
回调。如插件页面中所述,您还需要将一个值传递给回调以防出错。在本例中是一个空数组。
$("#txtbox").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "url.aspx/GetData",
data: "{'Prefix':'" + request.term + "'}",
dataType: "json",
success: function (data) {
response($.map(data.d, function(value) {
return {
label: value.diagnosisdesc,
value: value. diagnosisdesc + '//' + value.diagnosiscode
};
}));
},
error: function (result) {
response([]);
alert("Error");
}
});
},
minLength: 3
});
试图获取键值 returns null,但它 returns 所有数据都采用 json 格式。响应在下方添加为图片
$("#txtbox").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "url.aspx/GetData",
data: "{'Prefix':'" + request.term + "'}",
dataType: "json",
success: function (data) {
$.each(data, function (i, field) {
var data = JSON.stringify(data);
console.log(data.diagnosisdesc);
});
},
error: function (result) {
alert("Error");
}
});
},
minLength: 3
});
服务器的响应有一个对象:d
;该对象是一个数组,因此您需要遍历该数组,然后遍历每个数组值。每个数组值都将包含一个对象,因此您可以根据需要使用 jQuery 函数 $.each
循环这些对象(避免使用 hasOwnProperty
过滤迭代对象)。
根据 jQuery UI 插件,您需要将数组传递给 response
回调。数组的每个值必须是包含两个属性的对象:value
和 label
,因此您需要 map
服务器的响应以创建数组并将其传递给 response
回调。如插件页面中所述,您还需要将一个值传递给回调以防出错。在本例中是一个空数组。
$("#txtbox").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "url.aspx/GetData",
data: "{'Prefix':'" + request.term + "'}",
dataType: "json",
success: function (data) {
response($.map(data.d, function(value) {
return {
label: value.diagnosisdesc,
value: value. diagnosisdesc + '//' + value.diagnosiscode
};
}));
},
error: function (result) {
response([]);
alert("Error");
}
});
},
minLength: 3
});