作業系統:Windows 7
IIS:7.5
ajax.dll現在用的比較少,但是以前的專案有這個,使用的時候很容易出現這個錯誤,因為總是會遺漏配置。
使用ajax.dll時,js指令碼錯誤,無法呼叫後臺方法-XXX未定義
使用ajax.dll,首先專案引用ajax.dll,然後在customer類中定義方法
/// <summary> /// 得到使用者的資訊 /// </summary> /// <param name="email"></param> /// <returns></returns> [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)] public Model.customer GetUserInfo(int userID) { Customer customer = new Customer(); return customer.GetCusInfo(userID); }
然後在js中呼叫此方法,customer.GetUserInfo("userID")
這時js提示customer未定義,解決辦法:
修改web.config檔案
<system.webServer> <handlers> <add name="ajax" path="ajax/*.ashx" verb="POST,GET" type="Ajax.PageHandlerFactory, Ajax"/> </handlers> </system.webServer>
這樣就OK了