调用webservice并重定向到下一页而无需等待使用jquery

时间:2012-06-04 08:03:41

标签: jquery asp.net web-services

我有非常耗时的功能。我想调用函数并重定向到下一页,而不是等待函数调用的结果,我现在通过调用webservice表单jquery来实现它,如下:

function InitiateService(option) {   
 $.ajax({
    url: "WebserviceTrigger.aspx?option=" + option,
    type: "POST",
    dataType: "html",
    cache: false,
    success: function(html) {             
    window.location = "BroadCast.aspx";
    }
});

但这样它会等待结果,然后重定向到下一页。我想在调用服务后立即重定向到下一页。我怎样才能做到这一点? 提前谢谢

2 个答案:

答案 0 :(得分:2)

在此情况下将重定向移到您的成功之外,一旦它触发了Ajax,控制将执行您的重定向位置,它将不会等待ajax请求完成。

function InitiateService(option) {   
     $.ajax({
        url: "WebserviceTrigger.aspx?option=" + option,
        type: "POST",
        dataType: "html",
        cache: false,
        success: function(html) {             

        }
    });

    window.location = "BroadCast.aspx"; // move it outside success

答案 1 :(得分:0)

您可以使用ajax请求的async选项来使代码同步。默认情况下,它将是true。你可以转到false'async':false

function InitiateService(option) {   
     $.ajax({
        url: "WebserviceTrigger.aspx?option=" + option,
        type: "POST",
        async: false,
        dataType: "html",
        cache: false,
        success: function(html) {             

        }
    });