Javascript 如何防止ajax在更改输入数据时发送多个请求

Javascript 如何防止ajax在更改输入数据时发送多个请求,javascript,ajax,asp.net-mvc,Javascript,Ajax,Asp.net Mvc,Im使用ajax从Modal中的输入字段向控制器发送参数, 但是,当我更改值并关闭模式时,ajax会记住它,当我调用它时,ajax会多次请求旧值和新输入 增加职位 &时代; 检查 Bái viết gốc: id khong hợPLệ 瑟姆 接近 我的ajax语法: var serieid = '@Model.SerieID'; $('#addBtn').click(function () { var amodal = $('#addModal'); $('#IDPost

Im使用ajax从Modal中的输入字段向控制器发送参数, 但是,当我更改值并关闭模式时,ajax会记住它,当我调用它时,ajax会多次请求旧值和新输入


增加职位
&时代;
检查
Bái viết gốc:

id khong hợPLệ

瑟姆 接近
我的ajax语法:

 var serieid = '@Model.SerieID';
$('#addBtn').click(function () {
    var amodal = $('#addModal');
    $('#IDPost').val(null);
    amodal.modal('show');
    $('#addPostBtn').click(function () {
        var idpost = $('#IDPost').val();
        amodal.modal('hide');
        $.ajax({
            type: "POST",
            url: '/Admin/AddToSerie',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({ id: idpost, seriid: serieid }),
            dataType: "json",
            success: function (recData) {
                var notify = $.notify('<strong>Successfully
</strong><br/>' + recData.Message + '<br />', {
                    type: 'pastel-info',
                    allow_dismiss: false,
                    timer: 1000,
                });
                if (recData.reload != false) {
                    setTimeout(function () {
                        window.location.reload();
                    }, 1500);
                }

            },
            error: function () {
                var notify = $.notify('<strong>Error</strong><br/>Không thêm được<br />', {
                    type: 'pastel-warning',
                    allow_dismiss: false,
                });
            }
        });


    });

});
var serieid='@Model.serieid';
$('#addBtn')。单击(函数(){
变量amodal=$(“#addModal”);
$('#IDPost').val(null);
amodal.modal('show');
$('#addPostBtn')。单击(函数(){
var idpost=$('#idpost').val();
amodal.modal('hide');
$.ajax({
类型:“POST”,
url:“/Admin/AddToSerie”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify({id:idpost,serid:serieid}),
数据类型:“json”,
成功:函数(recData){
var notify=$.notify('成功)

'+recData.Message+'
'{ 键入:“粉彩信息”, 允许:false, 计时器:1000, }); if(recData.reload!=false){ setTimeout(函数(){ window.location.reload(); }, 1500); } }, 错误:函数(){ var notify=$.notify('错误
khong thèmèợc
{ 键入:“粉彩警告”, 允许:false, }); } }); }); });

我正在寻找一种方法来清除输入字段的值队列,但它不起作用

每次尝试向ajax url添加一个唯一的文本位,例如

var ts=(新日期()).getmillizes()


更改GetMillicles以提供真正唯一的值,例如通过连接日期的所有其他部分。

尝试每次向ajax url追加一个唯一的文本位,例如

var ts=(新日期()).getmillizes()

更改GetMillistics以提供真正唯一的值,例如通过连接日期的所有其他部分。

$(“#addPostBtn”)。单击将EventListener添加到元素中

每次单击
#addBtn
时都会调用它,因此将多个事件侦听器附加到
addPostBtn
。这就是ajax被多次调用的原因

您可以使用jQuery的
打开
关闭
来修复它

...
amodal.modal('show');
$('#addPostBtn').off('click');
$('#addPostBtn').on('click', function () { ... });
也可以通过移动
$('#addPostBtn')来修复。单击
$('#addBtn')中的
。单击
函数

$('#addBtn').click(function () {
    var amodal = $('#addModal');
    $('#IDPost').val(null);
    amodal.modal('show');
});

$('#addPostBtn').click(function () { ... });
$('#addPostBtn')。单击
向元素添加事件侦听器

每次单击
#addBtn
时都会调用它,因此将多个事件侦听器附加到
addPostBtn
。这就是ajax被多次调用的原因

您可以使用jQuery的
打开
关闭
来修复它

...
amodal.modal('show');
$('#addPostBtn').off('click');
$('#addPostBtn').on('click', function () { ... });
也可以通过移动
$('#addPostBtn')来修复。单击
$('#addBtn')中的
。单击
函数

$('#addBtn').click(function () {
    var amodal = $('#addModal');
    $('#IDPost').val(null);
    amodal.modal('show');
});

$('#addPostBtn').click(function () { ... });
v**分离模式单击和ajax单击事件**ar serieid='@Model.serieid'$(#addBtn')。单击(函数(){
变量amodal=$(“#addModal”);
$('#IDPost').val(null);
modal('show');})$(#addpostbn')。单击(函数(){
var idpost=$('#idpost').val();
amodal.modal('hide');
$.ajax({type:“POST”,
url:“/Admin/AddToSerie”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify({id:idpost,serid:serieid}),
数据类型:“json”,
成功:函数(recData){
var notify=$.notify('成功
'+recData.Message+'
'{ 键入:“粉彩信息”, 允许:false, 计时器:1000, }); if(recData.reload!=false){ setTimeout(函数(){ window.location.reload(); }, 1500); } } });});
v**单独模式单击和ajax单击事件**ar serieid='@Model.serieid'$(#addBtn')。单击(函数(){
变量amodal=$(“#addModal”);
$('#IDPost').val(null);
modal('show');})$(#addpostbn')。单击(函数(){
var idpost=$('#idpost').val();
amodal.modal('hide');
$.ajax({type:“POST”,
url:“/Admin/AddToSerie”,
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify({id:idpost,serid:serieid}),
数据类型:“json”,
成功:函数(recData){
var notify=$.notify('成功
'+recData.Message+'
'{ 键入:“粉彩信息”, 允许:false, 计时器:1000, }); if(recData.reload!=false){ setTimeout(函数(){ window.location.reload(); }, 1500); } } });});
谢谢,它可以工作,但我必须声明amodal不起作用。谢谢,它可以工作,但我必须声明amodal不起作用。