1. 程式人生 > >Jquery ajax非同步請求帶來的問題及解決方案

Jquery ajax非同步請求帶來的問題及解決方案

考慮一段簡單的程式碼

$.post("Handle.ashx"); window.location.href = "Login.aspx";

Handle.ashx的作用是清除Session資料,亦即把使用者登出掉。

這裡就出現一個問題了。

總之最後的效果是,使用者的確重定向到了Login.aspx,但是Handle.ashx清除Session的效果沒有執行。

解決方案很二,有兩種方法:

方法一:

把所有的後續javascript語句放到jquery的成功回撥函式裡面去

方法二

把jquery的執行方式改為同步

function ExtAjax(pmts) {
var ajaxval = null; var params = "ajax=true&" pmts;    //URL引數 $.ajax({ url: 'xueit-Test.aspx',   //接收頁面 type: 'post',      //POST方式傳送資料 async: false,      //ajax同步 data: params, success: function(msg) { ajaxval = msg; } }); return ajaxval; }
$.ajaxSetup({ async: false });

太坑爹了!如果不知道是這個原因,真不知道要除錯到什麼時候啊啊啊啊啊啊啊啊啊!!!

原文地址:http://www.cnblogs.com/dabaopku/archive/2011/05/31/2064895.html