0

我有一个非常耗时的功能要执行。我想调用函数并重定向到下一页而不等待函数调用的结果,我现在通过调用 web 服务表单 jquery 来做到这一点,如下所示:

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

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

4

2 回答 2

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
于 2012-06-04T08:06:04.173 回答
0

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

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

        }
    });
于 2012-06-04T08:32:42.477 回答