function (data) {
//add values based on activity type
//data = JSON.parse(data);
//alert(abc.Phone1);
alert(data.myName)
alert(data.toString());
if (activityType == "Phone") {
}
return;
},
正如你所看到的这个回调函数$.ajax
以JSON
从控制器的数据。
例如:
[{"name":"myName" ,"address": "myAddress" }]
在这种情况下,我的第一个警报给我不确定和第二/第三警报弹出来了:
[{"name":"myName" ,"address": "myAddress" }]
我如何可以按名称访问值,使我第一次警报,填写myName
这是有价值的name
?
在JSON解析代替就可以像followng:
$.ajax({
..
dataType: 'json' // using json, jquery will make parse for you
});
要访问您的JSON的属性做如下:
data[0].name;
data[0].address;
为什么需要data[0]
因为数据是一个数组,所以它的内容检索所需data[0]
第一元件),它给你的对象{"name":"myName" ,"address": "myAddress" }
。
和访问对象的规则的属性是:
Object.property
或有时
Object["property"] // in some case
因此,你需要
data[0].name
等,以得到你想要的。
如果你不
集合dataType: json
,那么你需要使用解析它们$.parseJSON()
并像上面检索数据。
您收到的JSON是字符串。 你必须将其转换成JSON对象时,有评论的代码中最重要的行
data = JSON.parse(data);
或者,如果你正在使用jQuery
data = $.parseJSON(data)
如果你的反应是这样{'customer':{'first_name':'John','last_name':'Cena'}}
var d = JSON.parse(response);
alert(d.customer.first_name); // contains "John"
谢谢,
你应该做
alert(data[0].name); //Take the property name of the first array
并不是
alert(data.myName)
jQuery的应该能嗅出数据类型你,即使你不设置它,以便无需JSON.parse。
这里捣鼓
http://jsfiddle.net/H2yN6/
试试这个代码..
function (data) {
var json = jQuery.parseJSON(data);
alert( json.name );
}
我觉得你必须提到dataType: 'json'
在阿贾克斯的配置和访问该值:
data[0].name
这是一个友好的忠告。 使用类似Chrome开发人员工具或Firebug的 Firefox的检查你的Ajax调用和结果。
您可能还需要了解一个辅助库喜欢投资一些时间下划线 ,补充jQuery和为您提供了60+有用的功能与JavaScript的处理数据的对象。
你可能想试试这个方法:
var str ="{ "name" : "user"}";
var jsonData = JSON.parse(str);
console.log(jsonData.name)
//Array Object
str ="[{ "name" : "user"},{ "name" : "user2"}]";
jsonData = JSON.parse(str);
console.log(jsonData[0].name)