fetch網(wǎng)絡(luò)請求
- 問題:服務(wù)端返回沒有對應(yīng)的參數(shù)
- 搜索:《React-Native系列》31、 Fetch發(fā)送POST請求的坑與解決方案
- 處理:按照上面使用FormData启上,失敗
static login(username,password,successCallback,failCallback){
let params = new FormData();
params.append("loginNo",username);
params.append("password",md5(password));
HttpUtils.post("http://.../login",params,successCallback,failCallback);
}
- 處理:使用postman測試,運(yùn)行正常哈扮,但是設(shè)置了
Content-Type=application/json
- 處理:header設(shè)置content-type,新問題
- 問題:
multipart != application/json
- 搜索:https://stackoverflow.com/questions/39351026/multipart-application-json-fetch-post-error-on-android-react-native
- 處理:修改
'Content-Type': 'multipart/form-data'
,問題 - 問題:服務(wù)端返回沒有對應(yīng)的參數(shù)(同問題1)
- 處理:在回去用postman測試,發(fā)現(xiàn)使用form-data不行葫录,用raw可行
image.png
11.處理:不適用FormData,改為JSON來傳遞參數(shù)领猾,成功米同,最終代碼如下
static login(username,password,successCallback,failCallback){
let params = {
"loginNo":username,
"password":md5(password)
};
HttpUtils.post("http://.../login",params,successCallback,failCallback);
}
static post(url,params,successCallback,failCallback){
fetch(url,{
method:'POST',
headers: {
'Content-Type': 'application/json',
},
body:JSON.stringify(params)
})
.then((response)=>response.json())
.then((responseData)=>{
successCallback(responseData);
})
.catch(function(err){
failCallback(err)
});
}