PHP json_encode在字符串末尾添加1

约书亚记

除一个实例外,我在整个项目中都使用json_encode,没有问题。

我在一页上进行了ajax调用,就像在其他页上所做的一样,由于某种奇怪的原因,结果json在字符串的末尾附加了1。

我的返回字符串看起来像这样

{
"overtime": "yes"
}1

是什么原因造成的?我已经从字面上注释掉了返回此字符串的类中的所有内容,而我仅拥有以下代码。

$reservation = ['overtime' => 'yes'];
return json_encode($reservation, JSON_PRETTY_PRINT);

我的ajax请求看起来像这样

    $.ajax({
        type: 'POST',
        url: "{{ URL::action('Controllers\\PurchasesController@calculateReservation') }}",
        data: { 'arrive' : arrive, 'depart' : depart},
        dataType: 'json',
        success: function(response) {
            alert(response);
        }
    });

警报不会触发,也不会显示任何内容,因为json无效,并且在字符串末尾附加了1。

汤姆·费内奇

您应该echo从控制器返回响应,而不是返回它:

echo json_encode($reservation, JSON_PRETTY_PRINT);

在某些情况下(例如使用WordPress),也有必要die()事后致电

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章