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 扔给浏览器:
我想查询几个表和 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 扔给浏览器: