晨鸟科技

 找回密码
 注册
搜索
查看: 12415|回复: 0
打印 上一主题 下一主题

IIS7.5 AjaxMethod 未定义解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2010-9-13 17:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,交代下背景:
9 k, }) t# l* ]最近调试作业智能批改系统,其中在作业批改页用到了一点 ajax 技术(教师修改主观类题目分数需局部刷新),今天测试发现程序上传到windows server 2008 r2 的服务器上出现“AjaxMethod 未定义”错误,如下图:
/ l; w# ]3 n/ N! l2 ?
( O+ `) o+ n1 Z* z$ \
* {$ I6 f- P3 j- g; j网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决...
& S8 N1 `9 z  M3 ]
5 y5 m: h6 L( C- M& N7 X下面总结解决方法:9 d7 ?$ u* w3 N9 [
先看页面js代码
  1. <script language="javascript">* W; `) J' F# c. p( @
  2.     var questionID;4 O; p3 C4 g1 d  Z8 v$ s
  3.     function $(ID); e+ I7 T2 P  Y
  4.         {7 ?' k& q, L) Q! ]$ z
  5.             if(document.all)
    : q! s2 X, j/ A/ k. F" I1 ?2 G/ X
  6.                 return document.all[ID];  [8 f/ K  u# Y
  7.             else if(document.getElementById)  Y' `/ T% R4 J+ i! J9 q) c8 @
  8.                 return document.getElementById(ID);
    ) d6 j( k  v3 C* T+ I
  9.             else
    2 b' p7 G, [- J' Z7 n, E4 f
  10.                 return null;
    6 u7 d; U0 v( \0 Z) T+ `) x9 |
  11.         }; [9 N+ @: S2 U/ S4 Q

  12. 3 S% H' B# Y4 |+ A& p9 A6 u
  13.     function callback_test1(res)4 P. J! D9 r3 R
  14.     {) Z. M3 l8 ^& b1 Q* o- J- x- {
  15.         if(res.value =="-1")
    2 w2 m7 x( Y6 G7 Y; a5 X& n3 T
  16.         {) e& k  X) L* o- a$ F- [
  17.             alert("必须输入数字");( j, o) H& a- m: |! e
  18.         }
    " d' ~3 n' K" T. g1 m; S
  19.         else if(res.value == "-2")9 t  b- [# m# b7 A- [
  20.         {6 ^, F3 g2 F0 D  v9 V' W
  21.             alert("得分不能超过题目标准得分");
    ) J7 @8 v4 @, ?) V: r
  22.         }0 J% m2 a6 W3 f1 a5 X7 I
  23.         else{# b: |: z' M' U
  24.             var array  = res.value.split(",");; r8 t9 Y! K" X# t2 H* k
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];
    , A0 U% V8 [  r. a! j" i
  26.             document.getElementById('totalMark').innerHTML = array[1];
    ' i9 @6 _7 P& _5 r- ^" l$ A
  27.             alert("修改成功!");
    ! e8 p8 m8 r1 }5 Y9 J
  28.         }
    ! \* R& h8 r/ o" f4 h! X. u. Q2 T
  29.            
    $ \1 e6 a6 P$ B$ T1 K
  30.     }
    1 F/ W& I4 L' S5 b* Z$ Z
  31.     function totalMark(spiID)  s1 U7 w" f! J) A* V
  32.     {5 U) T$ a) N* J! u
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);
    # D. J% W) V  u/ B) B
  34.     }
    7 t: n9 Q- e5 W% `+ \, Y8 J' ?
  35.     function editMark(btnID)$ Z/ j- M  P2 v5 I
  36.     {4 A/ N( Z: [% ^) f0 [$ ~
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);# R) A7 g( u( T5 V* _
  38. ! ~) _! M8 I9 `( ~3 }  [( c( U- f( H
  39.         var studentPaperID = document.all.hiddenSpi.value;
    4 {) ]" C& S9 x7 s0 I  H! O+ S
  40.         questionID = btnID.substring(3,btnID.length);
    0 S( A( E' F' M6 P
  41.            
    9 v4 \! o6 T. I( r: @; Y8 X
  42.         var mark = parseInt($(txtID).value);) d3 ~" a* @% d0 c1 S
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);        # D  ^/ n' f: J! U4 H+ r
  44.     }' |8 j4 i, \8 h# b- ~6 d
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));
    $ Q' a! b7 U: k9 e! _. R5 ]( ?
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]4 L1 ?# P: }6 X0 k6 \
复制代码
3.Global.asax的Application_Start方法添加
  1. Ajax.Utility.HandlerPath = "csharpwrapper";
复制代码
4.web.config中的<httpHandlers>和<handlers>分别添加
  1.                         <add verb="POST,GET" path="csharpwrapper/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
    ' |+ p2 t9 m5 s! e' Q' g# z

  2.   n" R. j. V0 V1 p0 _4 @
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加* f: F4 [8 d: m. E
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”
! u4 o' m9 W8 k9 ^, l. n  x
3 b5 R1 k4 o% ~: O$ H
; w- B0 N, Q# Y问题解决

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|晨鸟科技 ( 沪ICP备09012675号 )

GMT+8, 2025-10-30 03:04 , Processed in 6.069924 second(s), 8 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表