react fetch提交formdata格式数据

1.第一种方式,设置请求头,处理请求参数

export function formDataFetch(url, params) {
 let arr = Object.values(params)
  let data = '';
  Object.keys(params).forEach((key, index) => {
    let d = ''
    index !== Number(arr.length - 1)?d = key + '=' + params[key]+ '&':d = key + '=' + params[key]   
    data += d
  });
  return fetch(url, {
    method: 'post',
    headers: {
      "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
    },
    body: data
  }).then((response) => response.json())
}

2.第二种方式,使用URLSearchParams

export function formDataFetch(url, params) {
  let data = new URLSearchParams()
  Object.keys(params).forEach((key) =>
    data .set(key, params[key])
  )
  return fetch(url, {
    method: 'post',
    body: data,
  }).then((response) => response.json())
}

后语:react中初次使用fetch遇到的小问题,特此记录,大大们还有什么好方式还望不吝赐教。

你可能感兴趣的:(react,fetch,reactjs)