none
如何给服务器端发送一个无返回值或者无需回调函数的请求?? RRS feed

  • 问题

  • 通过ajax异步请求到后台ashx文件,并执行完了注册操作,此时需要页面跳转,如果直接在ashx文件中写server.Transfer("myAccount.aspx",True),会出现问题,因为发送异步请求的客户端页面还在等待传回的值,可是服务器端已经要求把客户端页面跳转到新的myAccount.aspx页面。
    解决的办法是:客户端接到传回的值,发现注册成功,此时再次向服务器发送请求,不过这一次的请求是无需返回值,无需回调函数,之需要通知服务端,我已经接收到值并做了相关处理,你跳转页面吧。此时在服务端执行server.Transfer就会成功。
    可是怎么才能在客户端的js中给服务端发送无需返回值的请求呢??
    如果直接在客户端js中跳转,那么页面中的值就会全部丢失。

    2009年5月10日 5:51

答案

全部回复

  • 楼主,为什么要到服务端执行server.Transfer 呢?  一个注册页面 一次ajax通信基本就够了!

    你把页面的注册信息 用ajax传回ashx处理,然后ashx给一个返回 , 客户端按照返回值去处理,注册成功就跳转到myAccount.aspx,没成功就给出错误提示!
    2009年5月10日 6:44
    版主
  • 谢谢你的解答。
    我主要是想在注册成功后,把用户的登录状态信息保存下来,这样,在其他的页面就可以访问到用户的登录状态。
    比如从myAccount.aspx链接到主页面时,登录信息仍然在。
    我以前用session试过,但是除了在a-redirect-b之间可以访问到状态,其他的页面无法访问到。
    我现在想要一个全局的信息保存,只要页面不关,整个网站的子页面都可以访问状态信息。
    我查了下资料,好像要使用global.asax,这个具体怎么弄呢?
    也就是说:登录一次,只要会话状态还在,那么全站的所有页面可以持有这个登录信息。
    2009年5月10日 6:53
  • 你可以看一下MSDN上的Forms验证。
    【孟子E章】
    • 已标记为答案 hooluupog 2009年5月11日 7:28
    2009年5月10日 7:43
    版主