Php 无法通过AJAX获取表单发布的JSON对象数据

Php 无法通过AJAX获取表单发布的JSON对象数据,php,jquery,json,ajax,Php,Jquery,Json,Ajax,我正在制作一个注册表单,通过ajax提交数据,并通过$input=json\u decode(file\u get\u contents(“php://input")); 服务器上未接收到任何值,因此返回null作为响应 这是我的AJAX代码: 提交表单时,调用此函数,并在表单数据对象中接收所有输入 function register() { var formData={ h_no:$('input[name=h_no]').val(), h_name:$('input[na

我正在制作一个注册表单,通过ajax提交数据,并通过$input=json\u decode(file\u get\u contents(“php://input"));

服务器上未接收到任何值,因此返回null作为响应

这是我的AJAX代码: 提交表单时,调用此函数,并在表单数据对象中接收所有输入

function register() {
  var formData={
    h_no:$('input[name=h_no]').val(),
    h_name:$('input[name=h_name]').val(),
    total_rooms:$('input[name=total_rooms]').val(),
    total_blocks:$('input[name=total_blocks]').val(),
    h_id:$('input[name=h_id]').val(),
    pwd:$('input[name=pwd]').val(),
    c_pwd:$('input[name=c_pwd]').val(),
  }
  console.log(formData);
  $.ajax({
    type:'POST',
    url:'../api/hostels/register.php',
    dataType: 'json',
    data:formData,
    success:function(data) {
      console.log(data);
    }
  });
}  
这是我的
PHP代码
: 这里我接收JSON数据并对其进行解码以处理并返回JSON响应

header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

$input = json_decode(file_get_contents("php://input"));


/* application code is written here */

echo json_encode($input);

此文件的输出为空

使用
JSON.stringify(formData)
发布数据。

使用
JSON.stringify(formData)
发布数据。

因为属性
数据类型:json
并不意味着您将json发送到服务器。那么如何将此json发布到服务器作为简单数组发布到服务器的数据。例如,使用
$\u POST
。顺便说一句,客户端上没有任何json。你有一个javascript对象,它不是json。看看哪个回答了同样的问题好的。我是否可以像query=hello&q=hi这样发布字符串并在服务器上以json格式接收它,因为attribute
dataType:json
并不意味着您将json发送到服务器。那么,我如何将此json发布到服务器作为简单数组发布的数据。例如,使用
$\u POST
。顺便说一句,客户端上没有任何json。你有一个javascript对象,它不是json。看看哪个回答了同样的问题好的。我可以像query=hello&q=hi这样发布字符串并在服务器上以json格式接收它吗