AJAX не вызывает php файл из JS? - PullRequest
0 голосов
/ 27 июня 2018

Проблема:

Здравствуйте, я убедился, что мой PHP-файл работает, но, к сожалению, мой ajax-код - нет. Я поместил ajax в функцию javascript для вызова файла, когда это необходимо, но когда функция выполняется, ничего не происходит.


Код:

Вот мой код JS:

function countdownEnded() {
    //make serverscreen dissapear
        document.getElementById('serverScreenWrapper').style.display = 'none';
        document.getElementById('serverScreenWrapper').style.opacity = '0';
        document.getElementById("cashOutNumTwo").style.right = '150%';
        document.getElementById("cashOutNumOne").style.right = '150%';
//start Timer
        setInterval(gameTimer.update, 1000);
//make player move again
        socket.emit('4');
        socket.emit('6');
//make game appear
        document.getElementById('gameAreaWrapper').style.opacity = 1;
//play sound
        document.getElementById('spawn_cell').play();
//cut 5 cents from account - php function
        $.ajax({
        type: "POST",
        url: 'http://cashballz.net/game/5game/subtract5.php',
        data: { },
        success: function (data) {
            alert(data);
        }
    });
}

Мой HTML:

<script src="//code.jquery.com/jquery-2.2.0.min.js"></script>

И даже мой PHP:

<?php
session_start();

$servername = "localhost";
$username = "myName";
$password = "myPass*";
$dbname = "myDBname";
$cash_amount = $_SESSION['cash_amount'];

// Create connection

$userid = $_SESSION['id'];

// You must enter the user's id here. /\

$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Fetch the existing value of the cash_amount against that particular user here. You can use the SELECT cash_amount from users where userid = $userid

$_SESSION['cash_amount'] -= 0.05;

$sql = "UPDATE users SET cash_amount = cash_amount - 0.05 WHERE id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param('s', $userid);
$result = $stmt->execute();


if($result)
{
   echo "5 cents have been subtracted!";
}
else
{
   echo mysqli_error($conn);
   session_start();
   session_unset();
   session_destroy();
}

$conn->close();
?>

Вывод:

Я не понимаю, почему мой файл не вызывается.

У меня есть JQuery, и я довольно много исследовал AJAX и посмотрел другие похожие вопросы на этом сайте.

Я пошел по ссылке на файл, и она отлично работает, поэтому я уверен, что это ошибка JavaScript.

Я отлично разбираюсь в JS, но новичок в PHP и JQuery.

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

PHP: header('Access-Control-Allow-Origin: *'); для разрешения междоменного доступа.

0 голосов
/ 27 июня 2018

Попробуйте изменить вызов ajax, добавив обработчики ошибок. Как пример:

$.ajax({
    type: "POST",
    url: 'http://cashballz.net/game/5game/subtract5.php',
    data: { },
    success: function (data) {
        alert(data);
    },
    error: function(data) {
        alert(data);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...