我有非常耗时的功能。我想调用函数并重定向到下一页,而不是等待函数调用的结果,我现在通过调用webservice表单jquery来实现它,如下:
function InitiateService(option) {
$.ajax({
url: "WebserviceTrigger.aspx?option=" + option,
type: "POST",
dataType: "html",
cache: false,
success: function(html) {
window.location = "BroadCast.aspx";
}
});
但这样它会等待结果,然后重定向到下一页。我想在调用服务后立即重定向到下一页。我怎样才能做到这一点? 提前谢谢
答案 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) {
}
});