【发布时间】:2019-10-31 20:46:15
【问题描述】:
我正在通过 POST 方法将表单数据从 Vue 组件发送到 Laravel API。
Laravel 返回一个很好的响应,但我无法在 Laravel 控制器中管理 POST 数据。
这是客户端:
let body = JSON.stringify({
'email': user.email,
'password': user.password,
});
fetch("/login", {
method: "POST",
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded',
'X-CSRF-TOKEN': user.token, // NOTA: no X_CXRF-TOKEN
body: body
})
})
这是控制器
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class LoginJWTController extends Controller{
public function login(Request $request){
print_r ($request->all());
}
}
但是响应(200 OK)是一个空数组:array[]
在调试站点上,我看到请求标头具有:
正文:{"email":"me@xxxxx.xx","password":"12345678"}
为什么我的控制器中没有 POST 数据?我错过了什么?
感谢您的帮助!
【问题讨论】:
-
将此
'Content-Type': 'application/x-www-form-urlencoded'更改为 'Content-Type': 'application/json'以及为什么要在标题中发送您的正文的另一件事。 -
内容类型没关系,正文才是问题!我写的位置不好!大声笑!
标签: javascript laravel vue.js