在页面继续加载时将JSON推送到HTML页面

时间:2013-03-08 07:37:57

标签: jquery asp.net ajax json push

我使用ASP.NET和C#构建一个处理多个步骤的页面。我有另一个HTML页面,它发起了对ASP.NET页面的请求。

我试图找到一种方法让ASP.NET页面在整个ASP.NET的多个步骤中通过JSON将状态更新“推送”回HTML页面。然后,HTML页面将接收状态更新,并在ASP.NET页面正在执行的操作上更新用户。如(步骤1:完成),(步骤2:完成)等。

我最初的想法是,这可以通过使用Response.Flush()之类的东西来实现。

我正在使用jQuery来处理和监控我的AJAX请求。

1 个答案:

答案 0 :(得分:1)

注意:客户端应该发起ajax请求。该页面无法推送到客户端

以下是一般概念:

var onCompleteStep1 = function() {
    status.hide().html('Step 1 complete!').fadeIn();

    // first step complete, begin step 2
    $.ajax({
        success: onCompleteStep2
        ...
    });
};
var onCompleteStep2 = function() {
    status.hide().html('Step 2 complete!').fadeIn();

    // second step complete, begin step 3
    $.ajax({
        success: onCompleteStep3
        ...
    });
};
var onCompleteStep3 = function() {
    status.hide().html('Step 3 complete!').fadeIn();
};

// start up first step
$.ajax({
    success: onCompleteStep1
    ...
});

想法是ajax成功回调,你想用你的“Step 1:Complete)”来更新状态文本。

我做了一个简单的小提琴:http://jsfiddle.net/YdQys/ 该示例使用按钮模拟ajax成功回调。但这是一般的想法。