[英]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.