使用Axios没有来自Laravel API的响应数据

时间:2019-03-25 00:29:45

标签: laravel axios postman

我正在使用Laravel(Laravel Framework版本5.8.4)作为REST API设置身份验证,但是当我使用Axios发出发布请求时,我得到一个空字符串。

这是我在Laravel中的代码:主控制器中的“登录”端点:

 class MainController extends Controller
{

public function login(Request $request){

$data = [
'message' => 'yo'
];

return Response::json($data, 200);

 }
}


这是我的Axios代码(来自Vue.js方法):

methods: {

      submitRegistration: function() {

    axios.post('http://envelope-api.test/api/auth/login', {
    name: this.form.name,
    email: this.form.email,
    password: this.form.password,
    password_confirmation: this.form.password_confirmation
  })
  .then(function (response) {
      console.log("here's the response")
      console.log(response);
    })
  .catch(function (error) {
    console.log(error);
  });

    },
  }

这是邮递员的回复(有效!)

{
    "message": "yo"
}

这是控制台中我的axios请求的响应(空字符串,数据在哪里?):

{data: "", status: 200, statusText: "OK", headers: {…}, config: {…}, …}

2 个答案:

答案 0 :(得分:0)

要从axios获取数据,您应该使用response.data,而不仅仅是response

编辑:尝试与帮助者联系。

response()->json($data);

答案 1 :(得分:0)

我已经弄清楚了。感谢您的帮助。

我安装了this chrome扩展程序以允许CORS(跨源资源共享),因此我可以从本地主机发出API请求(显然,邮递员不需要吗?)。

我关闭了它,并使用this发布(来自naabster的答案)将其安装在Laravel上本地

以这种方式安装后,它可以正常工作。