簡體   English   中英

如何正確提出AJAX POST請求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM