Javascript 处理ajax成功响应

Javascript 处理ajax成功响应,javascript,json,ajax,Javascript,Json,Ajax,PHP:lockState.PHP require '../dbconn.php'; $query = mysql_query("select id, lockState,name from register_db where Id=1"); $items = array(); while ($row = mysql_fetch_object($query)) { array_push($items, $row); } echo json_encode($items); 查询结果 [{

PHP:lockState.PHP

require '../dbconn.php';
$query = mysql_query("select id, lockState,name from register_db where Id=1");
$items = array();
while ($row = mysql_fetch_object($query)) {
    array_push($items, $row);
}
echo json_encode($items);
查询结果

[{"id":"1","lockState":"No","name":"Local Application"}]
Index.php

$.ajax({
            type: "POST",
            url: "feed/lockState.php",
            data: ({id: 1}),
            cache: false,
            dataType:"json",
            success: function (response) {
                alert(JSON.stringify(response));  // [{"id":"1","lockState":"No","name":"Local Application"}]
                alert(response.name); //***undefined***
                  if(response.name=='Local Application'){
                     callMyFunction(response.name);
                   }
          },
            error: function () {
               alert("Oops..!! Something wrong!);

            }
        });

在使用“成功”回应时,我完全迷失了自己做错了什么。甚至我也尝试
JSON.parse(response)
并尝试访问key:value,但仍然是相同的
undefined
。请帮助。

响应[0]。name
将帮助您。

查看您的PHP。请参见
$items=array()创建数组的位置

看看你得到的数据。请参见其周围的
[
]

您有一个包含对象的数组。您需要从该数组中读取第一个值

var object = response[0];
var name = object.name;

如果回答是:

{"id":"1","lockState":"No","name":"Local Application"}
但你的回答是:

*[*{"id":"1","lockState":"No","name":"Local Application"}*]*
括号表示响应是一个数组[],包含一个对象{}

正如其他人提到的那样;从数组中检索值的方法可以通过使用array_变量[0]来完成,例如选择第一个

在您的示例中,请尝试以下操作:

 alert(response[0].name); //***undefined***

因为它是一个数组,而不是一个对象。
response
是一个数组在这种情况下,您可以执行
console.log(response)
在错误控制台中获得变量的良好表示。警告:您使用的是从最新版本的PHP中完全删除的变量。你应该使用。你好,昆汀,是的,我使用的是最新版本,但是它是一个旧的应用程序,我们正在努力替换它。