Дважды нажмите на кнопку, чтобы запустить функцию, Должен работать в один клик - PullRequest
0 голосов
/ 23 января 2019

Мне нужно дважды нажать кнопку «Пуск», чтобы заставить работать функцию ответа моего Ajax.Я хочу, чтобы он работал в один клик.

Это для игрового веб-сайта, который устанавливает новый куки-файл, когда игра кликается через PHP Ajax, а когда куки-файл установлен, данные об успехе отправляются и открывается новое окно.с cookie данные открываются.

Javascript:

$(document).on('click', '#startPlay_btn', function(e)
{
    e.preventDefault();


$.ajax(
{
    type: 'post',
    url: 'ajax.php',
    data: {'csrf_token': $('#csrf_token').val(), 'flag': 1},
    dataType: 'json',
    success: function(data)
    {           
        if(data.response==1)
            window.open('play.php?gameID='+data.gameID, '_self');
    }
});

});

ajax.php:

switch ($_POST['flag'])
    {
        case 1:
            //generate game ID and CSRF 
            $c_value = $base->recursive_generator('b_gameID', 1, 'balances');
            if( !isset($_COOKIE['gameID']) )
            {
                setcookie('gameID', $c_value, time() + (86400 * 30), "/");  
                $_COOKIE['gameID'] = $c_value;



                $base->insert('balances', array('b_gameID'=>$c_value));

            }   
                echo json_encode(array('response'=>1, 'gameID'=>$_COOKIE['gameID']));

            break;

Я ожидаю, что новое окно будет открыто один разЯ нажимаю кнопку «Пуск» после настройки файла cookie в браузере, но мне нужно нажать кнопку дважды, при первом нажатии: он устанавливает файл cookie, а при повторном нажатии он открывает окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...