Javascript 多次执行Jquery Ajax请求
各位。我有以下截取表单提交并进行Ajax调用的代码:Javascript 多次执行Jquery Ajax请求,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,各位。我有以下截取表单提交并进行Ajax调用的代码: $(function () { $('form').each(function (id, el) { $(el).submit(function (event) { event.preventDefault(); var _data = $(this).serialize(); alert(id); $.ajax({
$(function () {
$('form').each(function (id, el) {
$(el).submit(function (event) {
event.preventDefault();
var _data = $(this).serialize();
alert(id);
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: _data
})
.done(function (response) {
if (response === '') {
notifySuccess("Já recebemos sua história! Obrigado por compartilhá-la conosco!");
$(el).find('textarea').val(' ');
} else {
notifyAlert(response);
}
})
.fail(function(data) {
notifyAlert(data.responseText);
});
grecaptcha.reset($(this).find('button').attr('id'));
});
});
$('textarea').click(function () {
if($(this).val() === ' ')
$(this).val('');
});
});
代码似乎还可以。但是,当我在浏览器中运行站点并在$.ajax({
)行放置断点时,它向我显示,当我尝试提交表单时,它执行了4次。出于调试原因,我放置了警报(id)
查看它提交的表单。我感到惊讶的是,警报使用正确的表单ID执行了一次。换句话说,只有AJAX行执行了4次。之前的代码没有执行。值得注意的是回调(.done
和fail
)也只执行一次。这里会发生什么
以下是完整的代码:
var onLoadRecaptcha=函数(){
$('form')。每个(函数(id,el){
$(el).就绪(函数(){
var submit=函数(){
$(el.submit();
}
var\u id=grecaptcha.render(
$(el).find('button').get(0),
{
“站点密钥”:“6ledwbouaaaanmd7vbnk2f2agkxl6rduulelf5u”,
“回调”:提交
}
);
$(el).find('button').attr('id','u id);
});
});
}
$(函数(){
$('form')。每个(函数(id,el){
$(el).提交(功能(事件){
event.preventDefault();
var_data=$(this).serialize();
警报(id);
$.ajax({
键入:“POST”,
url:$(this.attr('action'),
数据:_数据
})
.完成(功能(响应){
如果(响应==''){
通知成功(“Járecebemos sua história!Obrigado por compatilála conosco!”);
$(el).find('textarea').val('');
}否则{
通知警报(响应);
}
})
.失败(功能(数据){
notifyAlert(data.responseText);
});
grecaptcha.reset($(this.find('button')).attr('id');
});
});
$('textarea')。单击(函数(){
if($(this.val()='')
$(this.val(“”);
});
});
var notifyAlert=函数(消息){
$(“#通知模式”).find(“.modal body”).removeClass('alert-success');
$(“#通知模态”).find(“.modal body”).addClass('alert-danger');
$(“#通知模态”).find(“.modal body”).text(消息);
$(“#通知模态”).modal('show');
}
var notifySuccess=函数(消息){
$(“#通知模态”).find(“.modal body”).removeClass('alert-danger');
$(“#通知模态”).find(“.modal body”).addClass('alert-success');
$(“#通知模态”).find(“.modal body”).text(消息);
$(“#通知模态”).modal('show');
}
坎潘哈反欺凌| UNAP-EC
O sol queimava,在阿拉斯加州的普罗文达省,你可以看到一本关于生存的杂志。你可以看到一本关于阿尼尔的书,一本关于门的书,一本关于坎塔瓦姆的书,一本关于坎塔瓦姆的书,一本关于黑人的书,一本关于不和谐的书。Talvez hoje Om som seja algoseme伯纳德·赫尔曼没有电影精神
-Mãe,me dáR$0,50?-这是一个很好的例子
-你是迪涅罗夫人吗?——请重新描述一下
-波尔纳达·梅昂,欧盟索克罗响应组织,奥尔霍斯泪流广场
这是一个非常重要的概念,它是一个非常重要的概念
-我不知道该怎么做,我也不知道该怎么做
O trecho acima poderia服务于政府机构历史文化中心,46.6%来自巴西地理和社会科学研究所(IBGE)2012年,在欧洲经济中,35.3%的收入来自意大利,7.4%的收入来自意大利,7.4%的收入来自意大利
巴西公民协会,欺凌犯罪和侵害者后果协会,巴西圣保罗共和国社会发展协会(OAB/SP)网络欺凌是一种常见的欺凌行为,它被解释为是一种道德上的欺凌行为,而不是一种暴力行为。“标志,这是应对欺凌行为的一个标志,它体现了一种法律特权,一种东方的道德规范,一种对欺凌行为的抵制,一种对欺凌行为的法律支持和补救”他说,这是亚历山德拉对托多、家庭和埃斯科拉的责任,是欺凌行为的受害者,是一种宗教信仰。“考虑到伊斯兰宗教、宗教、宗教社会、社会责任、社会责任、农业和宗教事务的法律责任、发展风暴的法律责任”,pontua
圣保罗基督复临安息日会(UNAP)中心、恩格海罗·科埃略校区、恩坦德大学、欺凌儿童的科摩罗大学(entende O bullying como)都存在着真正的问题,他们的生活充满了动力,他们的生活充满了“美好的未来”,农民的良心目标,普布里卡斯大学和私立大学反对欺凌
预付款
欧共体
Vocêacompanhou histórias reais de brincadeiras sem graça,mas isso não precisa continuar.nês entendemos o momento difícil de delicado que envolve uma agressão,mas Vocêdevese saber que não
$('form').each(function (id, el) {
$(el).submit(function (event) {
$('form').submit(function (event) {
$(function() {
$('form').on('submit', function(event) {
event.preventDefault();
event.stopPropagation();// could have "return false;" at the end
var me = $(this);
var myid = $(this).index();
alert(myid); // not that this IS needed...
var _data = me.serialize();
$.ajax({
type: 'POST',
url: me.attr('action'),
data: _data
})
.done(function(response) {
if (response === '') {
notifySuccess("Já recebemos sua história! Obrigado por compartilhá-la conosco!");
me.find('textarea').val(' ');
} else {
notifyAlert(response);
}
})
.fail(function(data) {
notifyAlert(data.responseText);
});
// just to be clear, this happens NOW, before the ajax completes
// is that what is desired?
grecaptcha.reset(me.find('button').attr('id'));
// return false; // instead of event.xx above
});
$('textarea').click(function() {
if ($(this).val() === ' ')
$(this).val('');
});
});
$("#notify-modal").find('.modal-body').removeClass('alert-success');
$("#notify-modal").find('.modal-body').addClass('alert-danger');
$("#notify-modal").find('.modal-body').text(message);
$("#notify-modal").find('.modal-body')
.removeClass('alert-success')
.addClass('alert-danger')
.text(message);