Her er et eksempel som fungerer:
Index.html
Kode
<script>
$.ajax({
url: "backend.php",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify({name: 'Hello world'}),
success: function(data) {
alert("Successfully");
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Something went wrong:', textStatus);
console.error(errorThrown);
}
})
</script>
backend.php
Kode
<?php
header("Content-Type: application/json", true);
$json = file_get_contents('php://input');
$data = json_decode($json, true);
echo json_encode([
'message' => 'Incoming username is: ' . $data['name'],
]);
// Ta vekk kommentaren for å enkelt teste error-funksjonen.
// echo 'triggers error';
Problemet ditt var at du må stringify objektet før det sendes til serveren, også dekodes på server før du kan sende noe tilbake.