1

I am making a register form and submitting data through ajax and receiving posted data through $input = json_decode(file_get_contents("php://input"));

No values are received on the server, returning null back in response.

This is my AJAX code : On submission of form this function is called and all inputs are received in formData object

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);
    }
  });
}  

This is my PHP code : Here I am receive JSON data and decoding it to process and returning JSON response back

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);

Output of this is coming null

Shiladitya
  • 12,003
  • 15
  • 25
  • 38

1 Answers1

0

Use JSON.stringify(formData) to post the data.

Sagar Jajoriya
  • 2,377
  • 1
  • 9
  • 17