如何在一个按钮单击上发出两个依赖的 AJAX 请求

how to make two dependent ajax requests on one buttonclick

本文关键字:两个 依赖 请求 AJAX 单击 一个 按钮      更新时间:2023-09-26

我想使用按钮单击事件在数据库中将两个表单作为两个表行插入。我已经使用 ajax 请求插入数据库并完成了一个表单,同时根据第一个表单发出另一个 ajax 请求,它不起作用这是我使用 jQuery 的 Java 脚本。

var transportid = 2;
$.ajax({
    url : '/TransportJob/create',
    type : 'POST',
    data : $('form[action="/TransportJob/Create"]').serialize(),
    success : function sfn(data, textStatus, jqXHR) { // **success spelling mistake**
        transportid = parseInt(data);
        alert('inserted id :' + data);
        $('#TransportJobId').val((transportid));
        $.ajax({
            url : '/TransportJobAddress/create',
            type : 'POST',
            //beforeSend: function myintserver(xhr){
            //        $('#addAddress').html('<div id="temp_load" style="text-align:center">please wait ...</div>');
            //},
            data : $('form[action="/TransportJobAddress/Create"]').serialize(),
            success : function poste(data, textStatus, jqXHR) {
                $('#addAddress').html(data);
            },
            error : function err(jqXHR, textStatus, errorThrown) {
                alert('error at address :' + errorThrown);
            }
        });
    },
    error : function myfunction(jqXHR, textStatus, errorThrown) {
        alert("error at transport :" + jqXHR.textStatus);
    },
    complete : function completefunc() {
        alert('ajax completed all requests');
    }
});
return false;
});

第一个 ajax sucess拼写问题进行更正success然后它将起作用

在您的第一次 ajax 调用中,将sucess更改为 success

我首先修改了您的代码 ajax 请求成功部分拼写错误。

sucess : function sfn(data, textStatus, jqXHR) {

更改为

success : function sfn(data, textStatus, jqXHR) {

请求结束时的第二个错误是删除多余的代码

return false;
});

并在关闭complete方法后放入return false;。例如

    complete : function completefunc() {
        alert('ajax completed all requests');
    }
    return false;
});