无法访问 Laravel 的 JSON 响应对象的值

Can't access values of Laravel's JSON response object

这可能是我遇到的最奇怪的错误之一。

在我的控制器中,当用户做出回复(通过 AJAX)时,我 return 一个 JSON 响应以尝试获取该回复的 ID。

$reply = Status::create([
    'body' => $replyText,
])->user()->associate(Auth::user());

$status->replies()->save($reply);

$replyID = $reply->id;

return response()->json([
    'replyID ' => $replyID
]);

这很好用。我得到了 JSON 对我要求的回应。太好了。

问题来了。无论出于何种原因,我无法访问对象的值 JSON is returning.

x = response.replyID;
console.log(x);

x = response["replyID"];
console.log(x);

或任何变体将始终 returned undefined.

为了说明这是多么愚蠢,让我用下面的例子来证明:

success: function(response) {
    myObj = { "age":30 };
    console.log(response);
    console.log(myObj);
    x = myObj.age;
    y = response.replyID;
    console.log(x); 
    console.log(y);             
},

这个returns:

这可能是什么原因造成的?

你有多余的空白space'replyID '这里去掉这个

return response()->json([
   'replyID' => $replyID
]);

在应用之前,如果你这样尝试它会起作用

x = response["replyID "];
console.log(x);

但是现在,我想你明白问题是从一张空白中来的space。