首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不返回数据的laravel和vue 2 js -- 'localhost:8000‘(或'127.0.0.1:8000')是问题吗?

不返回数据的laravel和vue 2 js -- 'localhost:8000‘(或'127.0.0.1:8000')是问题吗?
EN

Stack Overflow用户
提问于 2017-02-20 21:43:15
回答 1查看 1.7K关注 0票数 0

我正在使用回购https://github.com/mschwarzmueller/laravel-ng2-vue/tree/03-vue-frontend,所以我对代码的可靠性有100%的信心。我可以通过laravel端点通过非常简单的Vue客户端,也可以通过邮递员。通过Postman,我可以检索表数据数组,但在客户端应用程序中并非如此。邮递员:

代码语言:javascript
运行
复制
localhost:8000/api/quotes

效果很好。

在vue 2 js客户端应用程序中:

代码语言:javascript
运行
复制
methods: {
        onGetQuotes() {
            axios.get('http://localhost:8000/api/quotes')
                .then(
                    response => {
                        this.quotes =  (response.data.quotes);
                    }     
                )
                .catch(
                    error => console.log(error)
                );
        }

什么都不回。将响应返回给Console.log什么也不返回。Network/XHR选项卡显示表数据行,但我不确定这意味着什么。

我确信,这段代码适用于具有唯一api端点的其他代码,我假设这些端点可能不使用localhost或'127:0.0.1:1080。

编辑:响应要求获得更多信息

代码语言:javascript
运行
复制
public function getQuotes()
{
    $quotes = Quote::all();
    $response = [$quotes];
    return response()->json($response, 200);
}

及有关路线:

代码语言:javascript
运行
复制
Route::get('/quotes', [
    'uses' => 'QuoteController@getQuotes'
]);

确认一下:我使用的是经过验证的github回购代码,其中唯一的更改是问题正文第一行中提到的api端点地址。。请注意,Laravel后端也是从Max精细教程中的相关回购中派生出来的。正在运行的代码可以在

所以,我真的不认为这是编码错误-但这是由于我使用本地主机造成的配置错误吗?

编辑:这是一个编码错误在laravel控制器中,如下所示

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-21 00:12:05

如果您没有在控制器中为您的$quotes提供密钥,但是您正在vue文件(response.data.quotes)中查找它,那么您的代码就无法工作。

[$quotes]本质上是[0 => $quotes],所以当json响应通过时,它是0: [...]而不是quotes: [...]

为了让它发挥作用,你只需要改变一下:

代码语言:javascript
运行
复制
$response = [$quotes];

至:

代码语言:javascript
运行
复制
$response = ['quotes' => $quotes];

此外,只要是FYI,就不需要在response->json()中提供response->json(),因为它是默认的,您只需返回一个数组,Laravel就会自动返回正确的json响应,例如:

代码语言:javascript
运行
复制
public function getQuotes()
{
    $quotes = \App\Models\Artist::all();

    return compact('quotes'); //<-- This is just another way of writting ['quotes' => $quotes]
}

很明显,如果你不想的话,你就不用这么做了。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42354745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档