ajax表单提交没有重定向剂量工作

时间:2016-09-14 12:41:14

标签: php ajax forms

我正在尝试使用ajax提交表单。

没有ajax,表单操作'send.php'工作正常,它会发送一封包含表单数据的电子邮件(包括文件等)

但我希望它能够在不重定向到php页面的情况下这样做, 所以我尝试使用ajax但是php没有被执行(我认为),它应该发送一封电子邮件并且不发送电子邮件(提醒 - 没有ajax它工作正常)。

ajax警告“表单已提交”(成功)但邮件未发送且php文件中的echo / alert未显示...

HTML表单:

<form  method="post" action="send.php" enctype="multipart/form-data"id="myForm" target="_blank">

AJAX:

$(document).on('submit', '#myForm', function(e) {
    e.preventDefault();
        $.ajax({            
            url: $('#myForm').prop('action'),
            type: $(this).attr('method'),
            data: $('#myForm').serialize(),
            beforeSend: function() {
                $('#gif').css('visibility', 'visible');
            },
            success: function(data) {
                $('#gif').css('visibility', 'hidden');
                alert('Form submitted'); 
            },
            error: function() {
                // The request failed - So something here
                alert('Form NOT submitted'); //display an alert whether the form is
            }
        });
    });

编辑: 找到问题的根源,我的ajax不完整我需要使用FormData!

我找不到如何使用它来表示我的表单中的所有文件,有人可以为正确的ajax显示一个示例吗?

1 个答案:

答案 0 :(得分:0)

在您的JavaScript中创建一个变量,如

var myData = $('#form_ID').serialize();

然后在进行ajax调用时使用

 $.ajax({
        url: URL_HERE,
        method: "POST",
        data: myData,
        success: function (results) {

它将提交表单数据,简单就是。