后端如何接收fetch方式发送的数据?

fetch方法借助FormData对象模拟表单的请求

这样能够实现完整的HTTP请求,而后端也能够像表单样接收数据

//前端
var formdata = new FormData();
formdata.append('username','lofayo');
fetch('web.php',{
    method: 'POST',
    body:formdata
})
.then(res=>res.text())
.then(resTxt=>console.log(resTxt))

//后端
//web.php
$username = $_POST['username']

fetch方式的post请求,数据还是模拟表单。可是,若像fetch官网,直接这样提交数据,那后台如何接收?

就是不似表单形式,而是字符串,那后台程序又该如何接收?

var url = 'https://example.com/profile';
var data = {username: 'example'};

fetch(url, {
  method: 'POST', // or 'PUT'
  body: JSON.stringify(data), // data can be `string` or {object}!
  headers: new Headers({
    'Content-Type': 'application/json'
  })
}).then(res => res.json())
.catch(error => console.error('Error:', error))
.then(response => console.log('Success:', response));
阅读 5.1k
2 个回答
$data = json_decode(file_get_contents('php://input'),true);
print_r($data);

后端打印下 $_POST,看下数据格式不就知道了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题