我正在尝试遍历我通过AJAX从PHP传递给我的JS脚本的一些数据。
数据是:
history: [
["1h", {
"number": "8651",
"event": "lock"
}],
["2h", {
"number": "16456",
"event": "edit"
}],
["2h", {
"number": "90",
"event": "edit"
}],
]
我使用Jquery解析了JSON:
var responseData = $.parseJSON(data);
history = JSON.parse(responseData.history);
但是我在尝试访问此数据时所做的每一次尝试都抛出了错误,或者返回了有关该对象的元信息。
$.each(history, function (index, value) {
console.log(value);
});
返回:
function go()
function back()
function forward()
function pushState()
function replaceState()
11
auto
null
如何访问数据?
解析两次的原因是
console.log(typeof responseData.history); // 'string'
尝试:
$.each(responseData.history, function (index, value) {
根据gurvinder372的回答给出错误:
TypeError: cannot use 'in' operator to search for '(b - 1)' in '[["1h",{"number"...'
答案 0 :(得分:3)
您无法通过分配修改window.history
,因此您正在迭代window.history
对象,迭代responseData.history
$.each(responseData.history, function (index, value) {
另外,根据您的代码
var responseData = $.parseJSON(data);
responseData
被解析为一个对象。