簡體   English   中英

PHP json_encode在字符串的末尾添加1

[英]PHP json_encode add a 1 to the end of the string

我在整個項目中使用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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM