fetch要求参数传递,遇到请求无法正常获取数据,网上其他很多版本类似这样:
fetch(url ,{
method: 'POST',
headers:{
'Accept': 'application/json, text/plain, */*',
'Content-Type': 'application/json'
},
body: JSON.stringify({a:1,b:2})
}).then(function(response){
return response.json();
}).then(function(data){
console.log(data);
});
经过改进和测试,如下:
var ur = 'xxx',params = {page:1,rows:10},param='';
for(var key in params){
param += key + '=' + params[key] + '&';
}
if(param) param = param.substring(0,param.length-1);
var requestConfig = {
method: 'POST',
credentials: 'include',
headers: {
'Accept':'application/json, text/plain, */*',
'Content-Type': 'application/x-www-form-urlencoded'
}
};
Object.defineProperty(requestConfig,'body',{
value: param
});
fetch(url,requestConfig).then(function(res){
return res.json();
}).then(function(json){
console.log(json.data);
});