Android 在react本机应用程序的post请求中包含csrf令牌
我有一个react本地应用程序,可以从远程服务器发布和获取数据。在本文中,我需要包括csrf令牌以避免令牌不匹配错误。这是后端laravel方法Android 在react本机应用程序的post请求中包含csrf令牌,android,laravel,laravel-5,react-native,Android,Laravel,Laravel 5,React Native,我有一个react本地应用程序,可以从远程服务器发布和获取数据。在本文中,我需要包括csrf令牌以避免令牌不匹配错误。这是后端laravel方法 //Android Login public function androidLogin(){ return response()->json([ 'name' => 'Android Login', 'route' => 'androidLogin' ])
//Android Login
public function androidLogin(){
return response()->json([
'name' => 'Android Login',
'route' => 'androidLogin'
]);
}
这是我去掉的错误捕获代码
async handleSubmit(){
var me = this.state.message;
console.log('this connected',me);
let response = await fetch('http://not-brusselus.be/androidLogin', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'X-CSRF-TOKEN':'csrf_field()'
},
body: JSON.stringify({
session:{
email: 'chesterfield@gmail.com',
password: '123456',
}
})
});
//let res = await response.text();
if (true) {
console.log(response);
} else {
//Handle error
//let error = res;
//throw error;
}
}
响应显示了laravel的令牌不匹配页面。如何成功发送csrf令牌?将csrf令牌挂在主laravel布局文件中定义的窗口外:
window.Laravel = {
csrfToken: '{{csrf_token()}}'
}
然后在javascript请求中使用它:
...window.Laravel.csrfToken
编辑
向下投票者:这就是Laravel开箱即用的方式,并建议您也这样做。令牌放在正文或标题中?@Mongodb您可以将其作为标题传递,也可以作为正文中的_令牌传递。