进行Ajax调用时,将contentType设置为application / json而不是默认的x-www-form- urlencoded时,服务器端(在PHP中)无法获取post参数。 在以下工作示例中,如果我在ajax请求中将contentType设置为“ application / json”,则PHP $ _POST将为空。为什么会这样?如何在PHP中正确处理contentType为application / json的请求?
$.ajax({ cache: false, type: "POST", url: "xxx.php", //contentType: "application/json", processData: true, data: {my_params:123}, success: function(res) {}, complete: function(XMLHttpRequest, text_status) {} });
<?php var_dump(json_decode(file_get_contents('php://input'))); ?>