我正在使用AJAX调用,并且正在生成此JSON对象,该对象将发送回JavaScript。
当我在JavaScript中收到它时,我无法从中获取值。

PHP:

echo json_encode(array("results" => array(array("user" => $member['user']),array("company" => $member['company']))));


JS:

success: function(response)
    {
        for(var i = 0;i < response.results.length; i++)
        {
          sessionStorage.setItem('user',response.results[i].user);
          sessionStorage.setItem('company',response.results[i].company);
        }
    }


我无法从收到的响应中读取任何值。

我得到的答复是这种格式:

{"results":[{"user":"David"},{"company":"something"}]}


读取此JSON对象的正确方法是什么?

最佳答案

由于您尝试访问未定义的result [0] .company和results [1] .user,并且如果更改PHP,则仅在对象中定义了results [1] .company和results [0] .user如下所示,除非响应只是一个字符串,否则您的JavaScript应该可以工作:

echo json_encode( array(
    "results" => array(
        array(
            "user" => $member['user'],
            "company" => $member['company']
        )
     )
));


如果响应只是一个字符串,请按如下所示更改您的JavaScript代码:

success: function(response)
{
    response = JSON.parse(response);


要么

dataType: "json",
success: function(response)
{

关于php - 我的JavaScript代码无法读取我的PHP代码生成的JSON。怎么了?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18260536/

10-13 00:54
查看更多