Why I get "SyntaxError: JSON.parse: " while using Laravel

Why I get "SyntaxError: JSON.parse: " while using Laravel

我想查询几个表和 return 作为我的移动应用程序的 JSON 输出。

public function index(){
    $data['filters'] = Filters::orderBy('id','asc')->where('ftype', 'r')->get();

    $data['categories'] = Category::where('status','=','A')
    ->where('parent_id',0)
    ->orderBy('name')
    ->get();

    $data['requests'] = URequest::with('user.profile')
        ->whereIn ('requests.status', ['A','B'])
        ->orderBy('requests.created_at','desc')
        ->get();

    $data['today'] = new Carbon(date("Y-m-d"));

    return response()->json([
        'success' => true,
        'data' => $data
    ]);
}

当我在 Postman 上 运行 上面的代码时,我得到这个错误:

SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 265962 of the JSON data.

如果我检查原始数据,它会显示数据,但也会出现一些 HTML 错误,例如 “

糟糕,好像出了点问题。

”。

此代码应该可以工作,但作为变通方法,我也尝试了:$data = array() 在开头,但它也没有工作。

有人可以告诉我这里缺少什么吗?

下面是我从添加的 index.php 中删除的代码部分,以避免 jwt 身份验证。

header("Access-Control-Allow-Origin: *");

header("Access-Control-Allow-Headers: cache-control, content-type, Content-Type, Accept, Authorization, authorization");

header("Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS,FILES");

此代码段导致此错误:

"Cannot modify header information - headers already sent by (output started at /var/www/xx/public/live/vendor/symfony/http-foundation/Response.php:1286)"

因此,将额外的 html 扔给浏览器: