Jos*_*hua 3 javascript php ajax jquery json
我在整个项目中使用 json_encode 没有问题,除了一个实例。
我从一个页面进行了 ajax 调用,就像我在其他页面中所做的那样,由于某些奇怪的原因,生成的 json 在字符串的末尾附加了一个 1。
我的返回字符串看起来像这样
{
"overtime": "yes"
}1
Run Code Online (Sandbox Code Playgroud)
什么可能导致这种情况?我已经从字面上注释了返回此字符串的类中的所有内容,并且我只有以下代码。
$reservation = ['overtime' => 'yes'];
return json_encode($reservation, JSON_PRETTY_PRINT);
Run Code Online (Sandbox Code Playgroud)
我的 ajax 请求是这样的
$.ajax({
type: 'POST',
url: "{{ URL::action('Controllers\\PurchasesController@calculateReservation') }}",
data: { 'arrive' : arrive, 'depart' : depart},
dataType: 'json',
success: function(response) {
alert(response);
}
});
Run Code Online (Sandbox Code Playgroud)
警报不会触发,也不会显示任何内容,因为 json 无效,将 1 附加到字符串的末尾。
你应该echo从你的控制器响应,而不是返回它:
echo json_encode($reservation, JSON_PRETTY_PRINT);
Run Code Online (Sandbox Code Playgroud)
在某些情况下(例如使用 WordPress),也需要die()事后调用。
| 归档时间: |
|
| 查看次数: |
1792 次 |
| 最近记录: |