4

我在 axios 上遇到了一些以前从未遇到过的奇怪问题,从 laravel 后端到 vue 前端的任何返回响应都是空的。

return response()->json(['message' => 'Success!']);

这一行是在帖子被编辑之后...

我也试过:

return response(['message' => 'Success!']);
return ['message' => 'Success!'];

当我console.log()回应时:

axios.post(url).then((response)=>{
    console.log(response);
});

我得到关于响应和数据的所有内容作为空字符串,我在 Laravel 5.7 中遇到了这个问题,而在 5.6 中工作得很好......

4

1 回答 1

1

在你的刀片中确保你csrf_token的头部有

xyz.blade.php

<head>
    <meta name="csrf-token" content="{{ csrf_token() }}">
</head

来自 Vue 或 React:确保您的方法正确获取、发布、删除、放入路由文件(web.php或任何内容)

axios.post('/some/url', {
           post_param_a : 1, 
            post_param_b : 2
         }).then(response => {
              //your value should be in response.data object
              console.log(response.data.message)
            })
            .catch(function (error) {
                console.log(error);
            });

内部控制器:

public function methodName(){
    return response()->json(['message' => 'Success!']);
}

或者,您也可以调试右键单击浏览器>>检查>>网络选项卡>>参考屏幕截图。

在此处输入图像描述

您还可以dd($response)在响应部分的检查器中进行响应和查看

于 2019-05-20T10:09:24.007 回答