gpt4 book ai didi

javascript - 如何在循环中使用ajax发送单个请求

转载 作者:太空宇宙 更新时间:2023-11-04 11:12:41 28 4
gpt4 key购买 nike

我为我们的客户端电子邮件更新创建了一个简单的邮件程序,但是我怎样才能一个一个地发送数据并在服务器端处理每个数据

html:


<p class="response"></p>

<form id="send_updates">
{% csrf_token %}
<textarea name="mail-list" class="mails" id="mails"></textarea>
<button type="submit"> start sends </button>
</form>

JavaScript:

let mails = $('#mails').val().split('\n');
for(let i = 0; i <= cc.length; i++){
$.ajax({
cache: false,
type: 'post',
url: "{% url 'send_mail' %}",
data: {'email': mails[i]},
async: true,
beforeSend:function(xhr, settings){
xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}");
};
success: function(data){
if (data.success) == true{
$('.response').append(mails[i] + ' sent!')
}else{
$('.response').append(mails[i] + ' not sent!')
};
}
});

但是!无论是否成功,它都会发送所有请求而不等待

编辑:

如果该电子邮件发送成功与否,我们要逐一监控!

最佳答案

尝试设置

    async: false,

如下图:

    let mails = $('#mails').val().split('\n');
for(let i = 0; i <= cc.length; i++){
$.ajax({
cache: false,
type: 'post',
url: "{% url 'send_mail' %}",
data: {'email': mails[i]},
async: false,
beforeSend:function(xhr, settings){
xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}");
};
success: function(data){
if (data.success) == true{
$('.response').append(mails[i] + ' sent!')
}else{
$('.response').append(mails[i] + ' not sent!')
};
}
});

引用What does "async: false" do in jQuery.ajax()?

关于javascript - 如何在循环中使用ajax发送单个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57831741/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com