老师,我是在windows上写fetchtest页面,post请求失败
来源:4-2 网络编程利器-Fetch的基本使用
杰神
2017-07-13
windows环境,使用夜神模拟器,测试android的fetch
代码如下
onLogin(data){
fetch('http://1024web.cn/api/login',{
method:'POST',
header:{
'Accept':'application/json',
'Content-Type':'application/json'
},
body:data
})
.then(response=>response.json())
.then(result=>{
this.setState({
result:JSON.stringify(result)
})
})
.catch(error=>{
this.setState({
result:'error:'+JSON.stringify(error)
})
})
}
·························分割线·······················
<Text
style={styles.txt}
onPress={()=>this.onLogin({
username:'小明',
password:'123456'
})}
>提交数据</Text>
报错为
1回答
-
杰神
提问者
2017-07-13
老师我知道问题了。我是自己用laravel写的接口,但是laravel里面有个CSRF机制,fetch使用get请求接口的时候没有CSRF防护,但是使用了post请求了之后,就被防护了。在laravel禁止CSRF防护接口就请求成功了。
但是我有个新问题:在ajax里面使用
<meta name="csrf-token" content="{{ csrf_token() }}" />$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}});就可以了,那么在fetch里面,怎样添加这个CSRF呢?
00
相似问题