簡體   English   中英

Ajax表單發布不起作用-似乎從未提交

[英]Ajax form posting not working - never seems to submit

我多次以各種形式看到這個問題,但我會盡可能多地查看示例,但無法弄清楚為什么我的代碼無法正常工作。

<script>
$('document').ready(function(){


    $('datafixForm').submit(function( e ) {

        var formData = new FormData(this);

        $.ajax({
            type: 'POST',
            url: 'process.php',
            data: formData,
            contentType: false,
            cache: false,
            processData: false,
            mimeType: "multipart/form-data",
            success: function (data) {
                console.log('Form submitted!');
                console.log('Recieved' + data);
                alert('Form submitted!');
            },
            error: function (data) {
                console.log('We failed');
                console.log('Got' + data);
                alert('Didnt worky!');
            }
        });

        e.preventDefault();
        e.unbind();
    });
    $('datafixForm').submit(); // Submit the form
});
</script>

是我的提交腳本,但是它永遠不會顯示成功或錯誤控制台日志或警報。

我已經檢查了chromes網絡監視器,也沒有顯示任何發布請求。 表單中有各種類型的數據,包括多個文件的選擇,但是我認為這根本不是問題。

您的表單是否具有ID datafixForm? 因為這樣您的選擇器應該是$('#datafixForm')而不是$('datafixForm')

我也看到開始部分通常是$(document).ready(function)而不是$('document').ready(function) (一般不將文檔稱為字符串),但我不確定100%如果這會引起問題。

編輯:注釋中指出的$(document)位實際上不是問題,更多的是觀察。 顯然這兩種方法都是有效的!

確保您有正確的選擇器。 當前,datafixForm既不是類也不是ID。

ID

#datafixForm

.datafixForm

移動您的e.preventDefault(); 提交事件的頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM