我使用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)
始终打印空数组意味着,未发送请求中指定的数据。有办法解决这个问题吗?
答案 0 :(得分:2)
$_REQUEST
不包含您要发送的HTTP请求。如果您想要访问正文,可以通过php://input
阅读。获得整个身体的最简单方法是:
$request = file_get_contents('php://input');