无法访问 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。
这可能是我遇到的最奇怪的错误之一。
在我的控制器中,当用户做出回复(通过 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。