मैं इसे घंटों तक काम करने की कोशिश कर रहा हूं और मुझे कोई जवाब नहीं मिल रहा है जो मेरी मदद करता है।

यह मेरी जावास्क्रिप्ट फ़ाइल में कोड है

function sendMovement(cel) {
  var name = "test";
  $.ajax({
      type: 'POST',
      url: '../game.php',
      data: { 'Name': name },
      success: function(response) {
          console.log("sent");
      }
  });
}

यह मेरी PHP फ़ाइल से कोड है (यह जेएस फ़ाइल के बाहर है)

if($_SERVER["REQUEST_METHOD"] == "POST") {
  $data = $_POST['Name'];
  console_log($data);
}

डिबगिंग करते समय मैं देख सकता हूं कि AJAX एक पोस्ट भेज रहा है और यह कंसोल "SENT" में प्रिंट करता है लेकिन यह $ डेटा प्रिंट नहीं करता है

अद्यतन: फ़ंक्शन कंसोल_लॉग () मेरी PHP फ़ाइल में मौजूद है और यह काम करता है

2
Jairo Molina 2 जुलाई 2020, 08:09

1 उत्तर

मैंने इसे निम्नलिखित करके ठीक किया:

मेरे game.php में मैंने निम्नलिखित HTML कोड जोड़ा (डिबगिंग उद्देश्यों के लिए)

<p style = "color: white;" id="response"></p>

इसके अलावा मेरे game.php में निम्नलिखित जोड़ा गया

if($_SERVER["REQUEST_METHOD"] == "POST") {
  
  $gameID = $_POST['gameID'];
  $coord = $_POST['coord'];
  $player = $_POST['player'];

  echo "gameID: " . $gameID . "\nCoord: " . $coord . "\nPlayer: " . $player;

}

और मेरे custom.js में मैंने अपडेट किया

function sendMovement(cel) {
  var handle = document.getElementById('response');
  var info = [gameID, cel.id, current_player];

  $.ajax({
    type: 'POST',
    url: '../game.php',
    data: {
      gameID: info[0],
      coord: info[1],
      player: info[2]
    },
    success: function(data) {
      handle.innerHTML = data;
    },
    error: function (jqXHR) {
      handle.innerText = 'Error: ' + jqXHR.status;
    }
  });
}
0
Jairo Molina 4 जुलाई 2020, 05:22