我在Laravel应用程序中使用Axios来获取GET请求,但由于某种原因,请求返回异常:带有消息的UnexpectedValueException:
“Response内容必须是实现__toString()的字符串或对象,”boolean“给出。”
无论我在响应中包含什么,请求都会返回此异常。
关闭jQuery请求的Axios请求工作正常,所以我假设它是Axios库的问题。
此请求返回异常:
axios.get(`/prospect/fetch`);
但是这个jQuery请求工作得很好:
$.get('/prospect/fetch');
Laravel获取功能:
public function fetch() {
return response()->json([
'collection' => Prospect::all()
]);
}
网址路由:
Route::get('/prospect/fetch', 'ProspectController@fetch')->name('admin.dashboard.prospect.fetch');
Axios请求有什么问题?
你应该读这个答案object implementing __toString(), "boolean" given.
因此,由于json_encode存在一些错误
你应该尝试qazxsw poi的收集方法,它可以轻松转换为json。
每当我必须做一些ajax调用或将数据发送到javascript时,我总是返回一个响应而不是集合对象的数组。
toArray()
或直接通过
$prospect = Prospect::all()->toArray();
return response()->json([
'collection' => $prospect,'status'=>200
]);
因为它说你返回的东西必须是return response()->json([
'collection' => Prospect::all()->toArray(),'status'=>200
]);
或string
正在实施object
魔术方法,你给了__toString
,这是没有那些,这就是为什么你得到该错误信息。
您可以像这样修复错误:
boolean