【问题标题】:Running Tasks Before Redirect重定向前运行任务
【发布时间】:2011-04-05 20:21:54
【问题描述】:

我们有一个计时器进程(一个 JQuery 插件),它在 X 分钟后重定向到登录页面,全部通过 JavaScript。当计时器为零时,我想运行一个任务(可以是任何任务;但是,在这个特定场景中,它是一个 Web 服务调用)。

所以流程是这样的:

if (zeroedOut) {
  window.setTimeout(function() {
    //Run finish-up processes
  }, 0);

  window.location = "login.aspx";
}

我遇到的问题是没有调用与完成进程一起运行的 Web 服务。 Web 服务调用发生,重定向发生,我没有看到任何错误(我在 setTimeout 调用周围有 try/catch 语句),但没有 WS 调用。

有没有人让它成功工作?我可能在这里遗漏了什么?

谢谢。

【问题讨论】:

  • 实际上,重新阅读,我有点困惑 - 你是如何(何时)调用网络服务的 - 它是否在 //Run ... 评论区?
  • 是的,//运行结束进程是ws调用发生的地方,以抽象的形式。
  • 我怀疑问题出在实际的 Web 服务调用中。如果您可以发布该代码及其调用的 .net 框架 Web 服务方法签名,我或许可以帮助您解决问题。

标签: javascript jquery .net asp.net web-services


【解决方案1】:

为什么setTimeout 调用中没有您的重定向?否则,重定向将在排队的代码运行之前发生。

if (zeroedOut) {
  window.setTimeout(function() {
    //Run finish-up processes
    window.location = "login.aspx";
  }, 0);
}

【讨论】:

  • 好的,我确实改变了,我是这样做的,因为我担心任务可能会阻止登录重定向,但这确实有道理,我必须使任何完成任务异步......但我这样做了,但我仍然没有接到 WS 电话......我想我知道为什么,但仍然不知道该怎么做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多