如何在jQueryAjax返回的页面中显示这个JSON字符串?
我已将以下JSON字符串返回到页面 {“姓氏”:“鲍勃”,“姓氏”:“盖茨”,“部门”:“技术”} 我想在页面中显示属性值,但有问题 这是我的jquery ajax如何在jQueryAjax返回的页面中显示这个JSON字符串?,jquery,json,Jquery,Json,我已将以下JSON字符串返回到页面 {“姓氏”:“鲍勃”,“姓氏”:“盖茨”,“部门”:“技术”} 我想在页面中显示属性值,但有问题 这是我的jquery ajax function BuildTable(msg) { var Person = msg[0]; var table = '<table><tr><td>' + person.firstName + '<td><tr></t
function BuildTable(msg) {
var Person = msg[0];
var table = '<table><tr><td>' + person.firstName + '<td><tr></table>'
$("#temp").html(table);
};
$.ajax({
type: "POST",
url: "../test/json.aspx/testjson",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
BuildTable(msg.d);
}
});
函数构建表(msg){
var Person=msg[0];
变量表=“”+person.firstName+“”
$(“#temp”).html(表格);
};
$.ajax({
类型:“POST”,
url:“../test/json.aspx/testjson”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
构建表(msg.d);
}
});
虽然我在Firebug中看到JSON字符串,但它返回“undefined”。
我可以使用“msg”而不是“Person.firstName”返回JSON字符串
如何在JSON字符串中显示属性值
谢谢您的JSON不代表javascript数组,因此您不应该试图获取给定索引中的元素,而是直接使用对象的属性:
function BuildTable(msg) {
var table = '<table><tr><td>' + msg.firstName + '<td><tr></table>'
$("#temp").html(table);
}
一系列的人会像这样:
[ {"firstName":"Bob","lastName":"Gates","department":"Tech"},
{"firstName":"John","lastName":"Gates","department":"HR"} ]
现在您可以访问
msg[0].firstName
,…这里有一些似乎不正确的东西
function BuildTable(msg) {
var person = jQuery.parseJSON( msg );
var table = '<table><tr><td>' + person.firstName + '<td><tr></table>'
$("#temp").html(table);
};
函数构建表(msg){
var person=jQuery.parseJSON(msg);
变量表=“”+person.firstName+“”
$(“#temp”).html(表格);
};
这个答案应该可以帮助您:我最初有msg.firstName,但我得到了空白页,所以我添加了一个msg[0]。我认为它必须是一个数组…这是Firebug中的响应部分。我想我有“d”键。{“d”:“{“firstName\”:“Bill\”,“lastName\”:“Gates\”,“department\”:“Tech\”}}@shinya,确实有一个.d属性,所以你应该保留它。是的,我真的不需要使用数组。是否可以只处理一行数据?我想我有“d”键。下面是firebug中的响应部分。{“d”:“{“firstName\”:“Bill\”,“lastName\”:“Gates\”,“department\”:“Tech\”}}啊,好的,我看到你在问题中的回答是你发送给BuildTable函数的。在这种情况下,你不需要索引你的msg,你仍然需要用Person变量来修正你的大小写。所以,删除var Person并将其更改为msg.firstName应该可以工作,对吗?但我仍然没有定义…您仍然需要将字符串解析为有效的javascript对象。我更新了我的答案以反映这一点。
function BuildTable(msg) {
var person = jQuery.parseJSON( msg );
var table = '<table><tr><td>' + person.firstName + '<td><tr></table>'
$("#temp").html(table);
};