在另一个ajax函数的成功部分调用ajax函数?

时间:2014-05-16 21:50:49

标签: jquery ajax

有人可以解释如何在另一个ajax函数成功后用ajax刷新html代码中的某些部分吗?这是一个问题:在第一个ajax函数之后我把一些数据放在数据库中,然后我想在页面上刷新数据。

3 个答案:

答案 0 :(得分:0)

您可以在第一个ajax函数的成功处理程序中执行此操作。使用jquery看起来有点像这样:

$.post('/url-to-process',$('#form').serialize(),function(data) {
    // do something with data
    $('#dom_object_you_want_to_update').html(data);
});

请参阅http://api.jquery.com/jquery.post/

答案 1 :(得分:0)

使用淘汰赛。与jquery和ajax携手并进。

至于你的问题 如果您从调用跳转到下一步返回的新数据,则在第一次调用成功之内,否则调用从db获取数据。

假设数据在某个容器元素中,

var myContainer = document.getElementById(" ..."); myContainer.html(' {返回数据}');

抱歉脚本不好,但这就是想法。

答案 2 :(得分:0)

逻辑可能是这样的:

(1) Save data
(2) Put a delay
(3) Then call another ajax function to get data that was justed updated
(4) Then update html elements.

以下是代码示例:

function SaveAndRefresh() {
//do something
showSpinningCircle(); // if you like
//collection data
var data = collect your data;
$.ajax({
    url: saveActionUrl,
    type: 'POST',
    contentType: "application/json",
    data: data,
    success: function (data) {
        if (!data.error) {
            //(2) put some delay to make sure data updating is done
            setTimeout(function () {
                //(3)
                RefreshHtml(data);
            }, 2000);
        } else {
           //show error message;
        }
    }
 });
}
function RefreshHtml(data)
{ 
   //(4)
   $('#elementid').html( data formatted );
}
相关问题