PUT,PATCH,DELETE请求不发送数据

时间:2018-06-07 19:39:22

标签: javascript php ajax http

我使用php路由类来处理http请求,如get,post,delete等.GET和POST没有任何问题(如预期的那样)但是当使用Jquery Ajax发送PUT,PATCH,DELETE请求数据时未发送到服务器

$.ajax({
  url: '/demo',
  method: "PATCH", //DELETE or PUT
  data: {name: "Ryan", age: 40},
  success: function (data, status) {
    $('#cont').html(data);
  }
});

在服务器端

print_r($_REQUEST)

始终打印空数组意味着,未发送请求中指定的数据。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

$_REQUEST不包含您要发送的HTTP请求。如果您想要访问正文,可以通过php://input阅读。获得整个身体的最简单方法是:

$request = file_get_contents('php://input');