[英]How can I properly make AJAX POST request
我需要協助。 我無法使用javascript發出POST請求。我不想首先使用jQuery。 我不知道為什么我的$ _POST為空。
這是我的scores.php文件。
<?php
$method = $_SERVER['REQUEST_METHOD'];
$file = __DIR__ . '/scores.json';
$scores = file_get_contents($file);
if ($method === 'GET') {
echo $scores;
} else if ($method === 'POST') {
$scores = json_decode($scores, TRUE);
$scores[] = [
'name' => $_POST['name'],
'scores' => (int) $_POST['scores'],
];
usort($scores, function($a, $b) {
$scoresA = $a['scores'];
$scoresB = $b['scores'];
if ($scoresA === $scoresB) {
return 0;
}
return $scoresA < $scoresB ? 1 : -1;
});
$scores = json_encode($scores);
file_put_contents($file, $scores);
echo $scores;
} else {
echo 'Method not allowed.';
}
這是我在frogGame.js文件中的一些代碼:
function setScores(){
let xhttp = new XMLHttpRequest();
xhttp.open("POST", "scores.php", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("name=Henry&scores=2542");
}
setScores();
您應該使用此:
function setScores(){
let xhttp = new XMLHttpRequest();
xhttp.open("POST", "scores.php?name=Henry&scores=2542", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send();
}
setScores();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.