【发布时间】:2016-06-22 10:38:34
【问题描述】:
我正在使用 $.ajax Get 方法来获取 JSon 对象的列表。 我的 jquery 是
$.ajax({
url: 'ItemHandler',
method: 'GET',
dataType: 'json'
},
complete: function(items) {
$.each(items,function(i,object){
alert(object)
}
}
});
而ItemHandler是这样的
public void ProcessRequest(HttpContext context)
{
List<JObject> jsonList = new List<JObject>();
List<Item> items = GetItems();
foreach(Item item in items)
{
//string str = Append properties with values to the string
jsonList.Add(JObject.Parse(str));
}
context.Response.ContentType = "application/json";
context.Response.Write(jsonList);
}
它从 ItemHandler 将创建的 Json 对象正确添加到 jsonList 并写入 context.response。 但是在 jquery 循环中它没有给我对象。它在警报中显示未定义。 我需要从那里获取每个对象。
【问题讨论】:
-
你试过
success吗?也尝试在迭代之前记录items。 -
是的,成功没有任何意义。
-
您好 snj 调试并查看您的 jsonList 是否包含 json 字符串,如果它包含列表对象,然后按照下面将其序列化为 json 并传递到前端。
-
谢谢。它现在正在工作。在我的 json 列表中,一些对象具有特殊字符,例如“\”。在这种情况下,它没有显示在 jquery 中。如何用 json.net 处理这个特殊字符。
标签: javascript c# jquery asp.net json.net