jQuery解析JSON数组
好吧,这让我发疯了。。 我试图将JSON从web方法解析为jQuery解析JSON数组,jquery,asp.net,json,parsing,Jquery,Asp.net,Json,Parsing,好吧,这让我发疯了。。 我试图将JSON从web方法解析为,以下是我得到的: function searchPostcode() { var search = $("#txtPostcode").attr("value"); //alert(search); $.ajax({ type: "POST", url: "DeliverySettings.aspx/getDeliveryInfoForPostcode", cont
,以下是我得到的:
function searchPostcode() {
var search = $("#txtPostcode").attr("value");
//alert(search);
$.ajax({
type: "POST",
url: "DeliverySettings.aspx/getDeliveryInfoForPostcode",
contentType: "application/json; charset=utf-8",
data: "{'postcode':'" + search + "'}",
dataType: "json",
success: AjaxSucceeded,
error: AjaxFailed
});
function AjaxSucceeded(result) {
var items = [];
$.each(eval(result), function (key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('jsonresults');
}
function AjaxFailed(result) {
alert(result.status + ' ' + result.statusText);
}
}
我试过使用和不使用
eval
都没有效果,我就是无法进入列表。。。请帮忙!:) 什么是jsonresults
?如果它是一个ID,那么您忘记了#
此外,在这方面:
items.push('<li id="' + key + '">' + val + '</li>');
还要记住,键是数组的索引。如果您支持HTML4,则ID以数字开头是无效的
您可能希望将其更改为:
items.push('<li id=product_"' + key + '">' + val.Name + '</li>');
items.push(““+val.Name+” ”);
…或类似的东西
示例:我的错,我之前在测试并命名标记,而不是为ID上的标题设置类或idCheers,这已排序。val.Name给了我一个未定义的..?@Leigh:你确认你的回复正确吗console.log(result)
…因为您有dataType:'json'
,jQuery将为您解析它,所以您应该去掉eval()
,只需执行$。每个(result,
我删除了eval并按照建议检查了日志,我确实会返回结果,如:d:“[{”Name:“Full plallet”,“Price:“90.0000”,{”Name:”“半托盘”、“价格”:“60.0000”}、{“名称”:“四分之一托盘”、“价格”:“40.0000”}、{“名称”:“小包裹”、“价格”:“30.0000”}、{“名称”:“中包裹”、“价格”:“20.0000”}、{“名称”:“大包裹”、“价格”:“10.0000”}]“但我仍然没有定义..d与此有关吗?
items.push('<li id="' + key + '">' + val + '</li>');
items.push('<li id="' + key + '">' + val.Name + '</li>');
items.push('<li id=product_"' + key + '">' + val.Name + '</li>');