Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.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 SQL插入已完成,但ajax检索错误消息_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript SQL插入已完成,但ajax检索错误消息

Javascript SQL插入已完成,但ajax检索错误消息,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有以下javascript代码: 和PHP 基本上,插入确实完成了,但出于某种原因,它在数据库中显示为一次查询的两倍。ajax文件未发送;页面会刷新,这是不应该的。这可能是什么原因造成的?其他查询、代码语法、某些函数?我使用的所有其他ajax都可以正常工作。这是一个已知的问题,是由于某些特定的原因造成的吗?提前非常感谢 对于双重提交和页面刷新,听起来您需要防止表单的默认操作: $("form").on('submit', function(event) { // prevent the d

我有以下javascript代码:

和PHP


基本上,插入确实完成了,但出于某种原因,它在数据库中显示为一次查询的两倍。ajax文件未发送;页面会刷新,这是不应该的。这可能是什么原因造成的?其他查询、代码语法、某些函数?我使用的所有其他ajax都可以正常工作。这是一个已知的问题,是由于某些特定的原因造成的吗?提前非常感谢

对于双重提交和页面刷新,听起来您需要防止表单的默认操作:

$("form").on('submit', function(event) {
  // prevent the default submit
  event.preventDefault();

  // do your other stuff

  // your ajax call
  var value = $.ajax({
       ...
    });
});
如果正确添加了条目,但使用了相同的错误函数,则可能是php中存在错误,导致脚本在insert部分之后的某个位置退出,并出现错误


您应该启用错误处理并在浏览器工具的“网络”选项卡中显示,或者暂时禁用ajax以正常提交并在浏览器中查看错误,或者查看web服务器错误日志中的消息。

听起来您需要阻止表单的默认操作。您能在触发ajax的地方发布完整的代码吗?并检查错误日志中的php错误。@jeroen我不能,这段代码实在太大了,看起来与变量名无关或混淆。如何确切地防止窗体的默认操作?我从来没有这样做过,每一个ajax都工作了。。。这一个特别是不同的,形式的东西是由4个文本区域,采取了大量的文本,然后提交。它在mysql中以文本形式保存,并且似乎正在正确上传而不是切片…请看我的回答,ajax正在工作,但如果不停止,则正常表单提交也是如此,因此您将获得双重提交和页面刷新。。。。
if(isset($_POST['the_thingy'])){

    $allowed = 100;

    $the_thingy = $mysqli->real_escape_string($_POST['the_thingy']);

    $query = "SELECT another thingy from the database";

    $the_thingy_length = strlen($the_thingy);

    if($the_thingy_length <= $allowed){


        $query = "INSERT INTO thingyes VALUES '$the_thingy'";
        $result = $mysqli->query($query);



    }

//amongst other queries and of the same "type"
$("form").on('submit', function(event) {
  // prevent the default submit
  event.preventDefault();

  // do your other stuff

  // your ajax call
  var value = $.ajax({
       ...
    });
});