Javascript jQuery Ajax多次提交表单
我不熟悉Ajax。我目前正在使用jqueryajax将表单提交到我的数据库中,但它在我的数据库中多次发送相同的数据 以下是我的Ajax代码:Javascript jQuery Ajax多次提交表单,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我不熟悉Ajax。我目前正在使用jqueryajax将表单提交到我的数据库中,但它在我的数据库中多次发送相同的数据 以下是我的Ajax代码: $(document).ready(function () { var id_js; $(document).on('click', '.btn-success', function () { id_js = $('#ID_TXT').val(); $('form').submit(function (e)
$(document).ready(function () {
var id_js;
$(document).on('click', '.btn-success', function () {
id_js = $('#ID_TXT').val();
$('form').submit(function (e) {
e.preventDefault();
e.stopImmediatePropagation();
$.ajax({
type: "POST",
url: 'server.php',
data: {
'Mark': 1,
'id': id_js,
},
success: function (response) {
$('#result').html(response);
}
});
return false;
});
});
});
我也尝试了.one和.stopImmediateProposition,但仍然没有结果提交处理程序不应该在单击处理程序中。每次单击该按钮时,它都会添加另一个提交处理程序。因此,当您最终提交表单时,它将按照您单击按钮的次数提交表单 如果要确保在单击按钮之前不会提交表单,请在提交处理程序中添加测试 $document.readyfunction{ var id_js; $document.on'click','btn success',函数{ id_js=$'id_TXT'.val; }; $'form'.submitFunction{ 如果id_js!==未定义{ $.ajax{ 类型:POST,, url:'server.php', 数据:{ "马克":1,, “id”:id_js, }, 成功:功能响应{ $'result'.htmlresponse; } }; }否则{ 警告您需要首先单击成功按钮; } 返回false; };
}; 我看到表单提交和Ajax调用都在做同样的工作。如果只使用AJAX调用发布数据,则不需要表单提交 我希望这对你有用
$(document).ready(function () {
function postDataToServer() {
var id_js = $('#ID_TXT').val();
$.ajax({
type: "POST",
url: 'server.php',
data: {
'Mark': 1,
'id': id_js,
},
success: function (response) {
$('#result').html(response);
}
});
}
$(document).on('click', '.btn-success', postDataToServer);
});
您是否有多个.btn success按钮?整个页面中没有一个按钮。不要将事件处理程序放在另一个事件处理程序中。每次单击都会添加另一个提交处理程序。i@SAMUEL请您为按钮事件而不是表单提交事件$document发送e.stopImmediatePropagation,好吗?单击,'.btn success',functionevent{event.preventDefault;event.stopImmediatePropagation;}@SAMUEL,你能不能澄清一下,在同一个类名的表单中有没有隐藏的按钮?另外,当您第一次单击或在随后的调用中单击时,您是否看到表单被多次提交?我尝试过使用您的方法,但不起作用相同的数据多次进入数据库谢谢您tonss@prasana Kannan很高兴我能帮助您@SAMUEL