Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Ajax+;Jquery+;PHP表单在提交时发送所有电子邮件_Php_Jquery_Ajax_Forms_Email - Fatal编程技术网

Ajax+;Jquery+;PHP表单在提交时发送所有电子邮件

Ajax+;Jquery+;PHP表单在提交时发送所有电子邮件,php,jquery,ajax,forms,email,Php,Jquery,Ajax,Forms,Email,我不知道这是否是缓存问题,但当我一封接一封地发送电子邮件而不刷新页面时,表单会再次发送所有电子邮件和最后一封。我已经将缓存设置为false,但它不起作用。代码如下: function send(datastr,button){ jQuery.ajax({ type: "GET", url: "sendmail.php", data: datastr, cache: false, success: functi

我不知道这是否是缓存问题,但当我一封接一封地发送电子邮件而不刷新页面时,表单会再次发送所有电子邮件和最后一封。我已经将缓存设置为false,但它不起作用。代码如下:

function send(datastr,button){
    jQuery.ajax({
        type: "GET",
        url: "sendmail.php",
        data: datastr,
        cache: false,
        success: function(html){
            $(".w-input").val("");
        }
    });
}

我不知道是服务器问题还是类似的问题,请给我帮助

我重置了send函数中变量datastr的值。当我获取表单输入值并验证它时,我使用同名变量,因此datastr包含一个包含表单数据的字符串。但我在通过发送后重置了它。所以当我再次发送时,send已经有一个值并再次连接它。我解决了在完成ajax请求后重置变量的问题。谢谢。

我们可以看到更多的代码,比如“datastr”在传入who do call send()方法时包含什么?看起来您并没有重置datastr,只是将其与旧值关联。这是一个表单。Datastr包含名称、日期和电子邮件等值,但不包含变量的值。如果我提交一次,它会给我发送一封电子邮件。但是,当我再次提交它时,如果没有刷新页面,它会将我发送的最后一封和第一封发送给我。如果它是concating,我会收到一封包含所有发送值的电子邮件,但它没有。它向我发送所有以前发送的电子邮件,以及我应该收到的电子邮件。如果我提交表单3次,第三次我将收到3封电子邮件,每封邮件都带有之前发送的相应值。如何将发送功能事件附加到按钮?尝试提醒它被触发了多少次。