fetch获取json的正确姿势
Posted 【云】风过无痕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fetch获取json的正确姿势相关的知识,希望对你有一定的参考价值。
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); });
以上是关于fetch获取json的正确姿势的主要内容,如果未能解决你的问题,请参考以下文章
Fetch api - 在 then 和 catch 块中获取 json 主体以获取单独的状态代码
无法从 React Native 中的 JSON 数组正确获取数据