Warto już zostawić JQuery i użyć wbudowanego w przeglądarkę FetchAPI:
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API```
Wówczas przykład by wyglądał tak:
Część HTML i JavaScript:
<html><body>
<script>
var dataToSend = {
zmienna1 : "Moje dane do wysłania do serwera jako POST",
zmienna2 : "Inna zmienna",
zmienna3 : "Jeszcze inna zmienna",
} ;
var requestInit = {
'method': 'POST',
'mode': 'cors',
'cache': 'no-cache',
'headers': {
'Content-Type': 'application/json'
},
'referrerPolicy': 'no-referrer',
'body': JSON.stringify (dataToSend)
};
var retPromise = fetch( "test.php" , requestInit ).then(response => response.text())
.then((response) => {
try {
// Wszystko OK w zmiennej response mamy odpowiedź z serwera
console.log ( "OK:", response ) ;
}catch(err){
// Coś jest źle
alert ( "Cuś poszło źle!" ) ;
}
})
.catch( err => console.log(err) );
</script>
</body></html>
No i po stronie PHP ( plik test.php ):
<?php
//
// Dane przychodzą jako JSON w POST i tak odbiera się je w PHP
//
$input = file_get_contents('php://input') ;
$input = json_decode( $input, true ) ;
//
// Tu możemy opracować dane i odesłać do przeglądarki ...
//
echo "\r\nPomniejszony ciąg zmiennej 1:".strtolower ( $input [ 'zmienna1' ] ) ;
echo "\r\nPowiększony ciąg zmiennej 2:".strtoupper ( $input [ 'zmienna2' ] ) ;