Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.click()事件在$.post to php脚本中具有意外行为_Javascript_Php_Jquery - Fatal编程技术网

Javascript jQuery.click()事件在$.post to php脚本中具有意外行为

Javascript jQuery.click()事件在$.post to php脚本中具有意外行为,javascript,php,jquery,Javascript,Php,Jquery,这里是我注册的地方。单击 $(document).ready( function() { $("#newRoundId").click(function() { if(inGame()) { alert(1); if(confirm("Are you sure?") == true) { alert(2); $.post("../php/fetch_word.p

这里是我注册的地方。单击

$(document).ready( function() {
    $("#newRoundId").click(function() {
        if(inGame()) {
            alert(1);
            if(confirm("Are you sure?") == true) {
                alert(2);
                $.post("../php/fetch_word.php", function(word) { startNewRound(word); }, "text");
            }
        }

        else {
            alert(3);
            $.post("../php/fetch_word.php", function(word) { startNewRound(word); }, "text");
        }
    });
});
下面是fetch_word.php

<?php
    require_once "config.php";

    do {
        $result = $db->query("SELECT word FROM words ORDER BY rand() LIMIT 1");
        $resultArr = $result->fetch_all(MYSQLI_ASSOC);
        $word = implode($resultArr[0]);
        $dupResult = $db->query("SELECT word FROM guessed_words WHERE word = '$word'");     
    }   while($dupResult->num_rows);

    $db->query("INSERT INTO guessed_words (word) VALUES ('$word')");

    echo $word;
?>
当inGame为false且Confirm为true时,代码工作正常。您确定吗?如果为true,则返回多个单词,但仍然有效,但当确认为false时,$.post请求被发送到服务器并返回多个单词,如果我继续这样做,则返回的单词数量似乎是随机的,然后服务器请求超时超过30秒,这是一个致命错误。真的很困惑,因为我的php代码以前工作过,现在我正在用这个新的.click函数测试它,我得到了这个


该警报用于调试目的。

1 inGame做什么?2不确定为什么在未向URL传递任何数据时使用$.post。我认为$.get会更简单。仅供参考,您可以将两个SELECT查询组合起来。从单词不在的单词中选择单词按rand LIMIT 1的顺序从猜测的单词中选择单词。当单词数不足时,将发生超时。它不断地挑选一个随机的单词,注意到它已经被猜到了,并且从未找到一个未使用的单词。使用我的组合查询应该可以防止这个问题。当确认为false时,我看不出有任何方法可以发送$.post请求。@如果没有参数,我认为$.post和$.get之间没有太大区别。