最近在學習和試用jquery,感覺它的ajax和ashx發回json簡直是完美的結合,如果我們可以在Form驗證時使用這種方式,則login頁面幾乎就可以達到簡潔的極致了。在login頁面中使用jquery的ajax回叫ashx驗證用戶名和密碼,然後轉向其他頁面。初步驗證,在ashx中手工構造登錄票據,然後返回給login端,是可以完成登錄的。
然後接下來,就是在login.aspx頁面中引入jquery,將jquery放在lib目錄下,將user.ashx放在services目錄下,在login.aspx中使用jquery.ajax進行調用。但在代碼完成,實際使用時每次進入login.aspx頁面進行初始化,總是報錯,提示:jquery.js第一行缺少對象,於是將form驗證<authorization>節中的<deny user="?"/>修改成<allow user="*"/>,運行OK。百思不得其解,後經msn jquery群中about blank(ID?)提供解決方法,原因是Form驗證中,我們在login.aspx中引用了jquery.js,那麼頁面在導向lib/jquery.js時,亦會發現我們未經驗證,無權下載此js文件,於是在lib目錄下添加web.config文件,將jquery.js文件的訪問權限設為allow user=*,並將user.ashx文件亦作如此設置。至此,問題解決。
是以為志,謝謝about blank朋友的幫助!