Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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 ajaxSubmit:数据库中的重复条目_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript ajaxSubmit:数据库中的重复条目

Javascript ajaxSubmit:数据库中的重复条目,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个表单和一个输入类型文件在里面 <form id='imageform' method='post' enctype='multipart/form-data' action='php/exec/add-message-image-exec.php' style='clear:both'> <div id='imageloadstatus' style='display:none'><img src='assets/loader.gif' alt='U

我有一个表单和一个输入类型文件在里面

<form id='imageform' method='post' enctype='multipart/form-data' action='php/exec/add-message-image-exec.php' style='clear:both'>
    <div id='imageloadstatus' style='display:none'><img src='assets/loader.gif' alt='Uploading....'/></div>
    <div id='imageloadbutton'>
        <div class='file-field input-field'>
            <div class='btn'>
                <span>Upload</span>
                <input type='file' name='file' id='photoimg'/>
            </div>
            <div class='file-path-wrapper'>
                <input class='file-path validate' type='text'>
            </div>
        </div>
    </div>
</form>

我的问题是,它提交了两次图像,并将其保存到我的数据库/表中两次。但是当我删除
.submit()在我的脚本中,它只执行一次,但每当我附加图像/提交时,会出现一个类似于模式的小窗口和另一个屏幕。

删除“操作”并将其放在ajax POST请求中

$(document).ready(function () {
  $('#photoimg').on('change', function () {
    var A = $('#imageloadstatus');
    var B = $('#imageloadbutton');

    $.ajax({
        url: 'php/exec/add-message-image-exec.php',
        type: 'POST',
        data: $('#imageform').serialize(),
        beforeSubmit: function () {
            A.show();
            B.hide();
        },
        success: function (data) {
            //do something with data
            //ex: console.log()
            console.log(data);
            A.hide();
            B.show();
        },
        error: function () {
            A.hide();
            B.show();
        }
    });
  });
});

出现什么样的窗口?你能显示屏幕截图吗?可能是你的ajax正在提交,然后表单也在提交。在表单上,您可以尝试删除
action=
并添加
onsubmit=“return false;”
以进行检查……这是我删除.submit()时的示例图像;在脚本上,以及在删除操作和添加onsubmit='return false;'在形式上。它表示在属性列表数据:$('imageform').serialize()之后的SyntaxError:missing};当我删除序列化末尾的分号时,刷新页面后没有错误,但在提交图像时没有错误。它显示了$(…)。Ajax不是一个函数。@重复此操作,请考虑按选中的按钮作为一个可接受的答案。致以最良好的祝愿:)
$(document).ready(function () {
  $('#photoimg').on('change', function () {
    var A = $('#imageloadstatus');
    var B = $('#imageloadbutton');

    $.ajax({
        url: 'php/exec/add-message-image-exec.php',
        type: 'POST',
        data: $('#imageform').serialize(),
        beforeSubmit: function () {
            A.show();
            B.hide();
        },
        success: function (data) {
            //do something with data
            //ex: console.log()
            console.log(data);
            A.hide();
            B.show();
        },
        error: function () {
            A.hide();
            B.show();
        }
    });
  });
});