老师,我是在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>

报错为

http://szimg.mukewang.com/59672e020001396504900316.jpg

写回答

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呢?

0
0

React Native技术精讲与高质量上线App开发

一个真实的上线项目,一次完整的开发过程,全面掌握React Native技术

1577 学习 · 727 问题

查看课程