Laravel应用程序中的Axios请求返回UnexpectedValueException异常

问题描述 投票:0回答:2

我在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请求有什么问题?

jquery ajax laravel get axios
2个回答
1
投票

你应该读这个答案object implementing __toString(), "boolean" given.

因此,由于json_encode存在一些错误

你应该尝试qazxsw poi的收集方法,它可以轻松转换为json。

每当我必须做一些ajax调用或将数据发送到javascript时,我总是返回一个响应而不是集合对象的数组。

toArray()

或直接通过

$prospect = Prospect::all()->toArray();
    return response()->json([
            'collection' => $prospect,'status'=>200
        ]);

0
投票

因为它说你返回的东西必须是return response()->json([ 'collection' => Prospect::all()->toArray(),'status'=>200 ]); string正在实施object魔术方法,你给了__toString,这是没有那些,这就是为什么你得到该错误信息。

您可以像这样修复错误:

boolean
© www.soinside.com 2019 - 2024. All rights reserved.