如何在一个按钮单击上发出两个相关的ajax请求

时间:2013-11-05 05:01:34

标签: javascript ajax jquery

我希望使用按钮单击事件在db中插入两个表格作为两个表行。我使用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;
});

3 个答案:

答案 0 :(得分:1)

第一个ajax sucess拼写问题会纠正success然后它会起作用

答案 1 :(得分:0)

在第一次ajax通话中,将sucess更改为success

答案 2 :(得分:0)

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

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

更改为

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

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

return false;
});
关闭return false;方法后

并放置complete。 e.g。

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