我正在使用SQLSRV_FETCH_ASSOC将PHP中的数组返回到ajax调用。
然后我想引用数组中的特定项目。
所以我的PHP json是:
$sth = sqlsrv_query($conn,"SELECT Property, Value from TBL_CONFIG_SYSTEM");
$rows = array();
while($r = sqlsrv_fetch_array($sth,SQLSRV_FETCH_ASSOC)) {
$rows[] = $r;
}
print json_encode($rows);
我想为我的ajax响应做这样的事情:
$.ajax({
url: 'json/admin/getSystemSettings.php',
type: 'POST',
dataType: "json",
data: {},
success: function (result) {
$.each(result, function (key, value) {
console.log('key: ' + key + ',value: ' + value);
});
}
});
控制台日志似乎只是返回:
index: 0,value: [object Object]
index: 1,value: [object Object]
index: 2,value: [object Object]
index: 3,value: [object Object]
index: 4,value: [object Object]
我希望这能从数组中返回数据,而不是索引和对象吗?
答案 0 :(得分:0)
console.log()
无效。要进行正确的调试,您需要以下其中一项:
console.log('key: %o, value: %o', key, value);
...或者,如果您的浏览器控制台不支持Firebug API:
console.log('key: ', key, ',value: ', value);
您还应该检查您的实际JSON(来自PHP或使用您的浏览器开发人员工具)。我想你的看起来像这样:
[
{
"Property": "Foo 1",
"Value" : "Bar 1",
},
{
"Property": "Foo 2",
"Value" : "Bar 2",
},
{
"Property": "Foo 3",
"Value" : "Bar 3",
}
]
因此,密钥无关紧要,您需要使用value.Property
和value.Value
。