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

时间:2017-10-01 08:53:01

标签: php jquery json ajax

我正在制作注册表并通过ajax提交数据并通过 $ input = json_decode(" php:// input")来接收发布的数据;

服务器上没有收到任何值,返回null作为响应。

这是我的AJAX代码: 在提交表单时,将调用此函数,并在 formData对象

中接收所有输入
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 code: 在这里,我收到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);

此输出无效

1 个答案:

答案 0 :(得分:0)

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