【发布时间】:2013-10-15 19:51:48
【问题描述】:
我正在使用下面给出的 JQuery ajax 调用方法
$.post('../User/GetCountry',
{
zone: 1
},
function (data) {
alert(data);
alert(data["Countries"]);
}, "json").fail(function (jqXHR, textStatus, errorThrown) {
//alert(textStatus);
});
C#代码
public static string GetCountry()
{
var result = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Countries.GetAll());
return result;
}
现在当我在服务器端调试我的代码时,我看到下面的结果,根据我的说法,这是完美的 json
[{"Id":4,"Name":"France"},{"Id":3,"Name":"Germany"}]
但在 javascript 中,我得到的 json 为
[[object Object],[object Object]]
谁能告诉我我在这里缺少什么
已解决 var jsonData = JSON.stringify(data); var jsonParse = JSON.parse(jsonData);
【问题讨论】:
-
它只是告诉你这是一个对象数组 :) 这是真的
-
改用
console.log(data)。 alert() 将尝试为您字符串化,这意味着 objecst 将只是object Object。 -
您正在返回一个对象数组。尝试使用JSON.NET 反序列化数组。这样会容易很多!
-
@icemanind 它已经被反序列化,因此他看到的是 [object Object]。
-
@RajKumar 很有趣,这是我刚刚在stackoverflow.com/questions/19116385/… 发布的内容:)
标签: c# jquery asp.net ajax json