I am trying to post some data to my server and get some data back. For some reason, the data I am posting comes back as null:
The jQuery:
var data = { message1: "bla", message2: "blabla" };
$.ajax({
type: 'POST',
url: 'https://example.com/api',
data: JSON.stringify(data), // EDIT: replacing this with [data: data,] also does not help (also not in combination with omitting the following line)
contentType: 'application/json', // EDIT: I have removed this line now, but the problem persists
dataType: 'json',
success: function(response) {
console.log(response);
}
});
The PHP:
$response['message1'] = $_POST['message1'];
$response['message2'] = $_POST['message2'];
$response['message3'] = 'blablabla';
print_r(json_encode($response));
This returns:
{ message: null, message2: null, message3: "blablabla" }
And I want:
{ message: "bla", message2: "blabla", message3: "blablabla" }
I have already tried all sorts of combinations of quotes in my data (e.g. '{"message1": "bla" (...)}'
and omitting the JSON.stringify
), but nothing seems to work..