我有以下ajax函数。从ajax成功函数访问Json对象 - 意外的未定义的
$.ajax({
url: "/ajax",
type: "get",
data: values ,
success: function (data) {
console.log(data); // This is Line 7
console.log(data[0].first_name); //// This is Line 8
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
线07输出:[{"id":2,"first_name":"Nimalka","last_name":"Perera","address":"Kandy","age":25,"created_at":"2017-08-29 07:23:43","updated_at":"2017-08-29 07:23:43"}]
线08输出:undefined
为什么线08不确定?
当我用JSFiddle检查输出它工作正常。 (Link to the JsFiddle)
但是为什么它在$ .ajax函数内部未定义?
你得到一个字符串响应。首先使用JSON.parse将其转换为对象。 – Shubham
@Shubham谢谢。它的工作原理:-)即使我在PHP文件中返回Json('return json_encode($ students);')为什么它变成了字符串? – Dreengreen
javascript不期待一个对象。您必须将dataType设置为JSON。 – Shubham