我尝试了至少3种方法,每次尝试使用ajax发布表单时,页面总是重新加载而且没有提交任何内容。
它甚至没有返回成功或错误 - 似乎甚至没有调用该函数。
这是代码,提前谢谢。
HTML:
<form id='sig_up' name='sig_up' style='min-width:170px'>
<textarea id='sig' class='custom-scroll' style='max-height:180px;'></textarea>
<br>
<input class='btn btn-primary btn-sm' type='submit' />
</form>
的jQuery / AJAX:
$('#sig_up').on('submit',function(e) {
$.ajax({
url:'update_sig.php',
data:$(this).serialize(),
type:'POST',
success:function(data){
$.smallBox({
title : "Signature Updated",
content : "Your signature has been successfully updated.",
color : "#296191",
//timeout: 8000,
icon : "fa fa-bell swing animated"
});
},
error:function(data){
}
});
e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
});
答案 0 :(得分:0)
你试过stopImmediatePropagation()吗?
$('#sig_up').on('submit',function(e) {
e.preventDefault();
e.stopImmediatePropagation();
$.ajax({
url: 'update_sig.php',
data: $(this).serialize(),
type: 'POST',
success:function(data){
console.log("Success");
},
error:function(data){
console.error("Error");
}
});
});
答案 1 :(得分:0)
好吧,要发送它,我会将表单的处理程序附加到文档中(虽然根据文档无关紧要),首先编写preventDefault以避免在任何事情之前发送表单(尽管我尝试了它)最后,结果完全一样,必须复习这个功能)。
所以,我做的另一个重要的事情,我的事情是真正的答案,是形式内部范围的变化。如果您在AJAX中使用$(this),那么您指的是AJAX jquery处理程序,而不是表单,我更改了它以显示它是如何更改的。我还添加了一个错误console.log来检查出于什么问题以防万一。我尝试了下面的代码,它在我的localhost中发送调用。
$(document).on('submit', '#sig_up', function(e) {
e.preventDefault();
var $form = $(this);
$.ajax({
url: 'update_sig.php',
data: $form.serialize(),
type: 'POST',
success:function(data){
console.log('ok');
// $.smallBox({
// title : "Signature Updated",
// content : "Your signature has been successfully updated.",
// color : "#296191",
// //timeout: 8000,
// icon : "fa fa-bell swing animated"
// });
},
error:function(data){
console.log(data);
}
});
});
答案 2 :(得分:-1)
$('#sig_up').on('submit',function(e) {
e.preventDefault(); //=== To Avoid Page Refresh and Fire the Event "Click"===
var that = this;
$.ajax({
url:'update_sig.php',
data:$(that).serialize(),
type:'POST',
success:function(data){
$.smallBox({
title : "Signature Updated",
content : "Your signature has been successfully updated.",
color : "#296191",
//timeout: 8000,
icon : "fa fa-bell swing animated"
});
},
error:function(data){
}
});
});