晨鸟科技

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

IIS7.5 AjaxMethod 未定义解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2010-9-13 17:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,交代下背景:
3 e2 Q5 S! r! U最近调试作业智能批改系统,其中在作业批改页用到了一点 ajax 技术(教师修改主观类题目分数需局部刷新),今天测试发现程序上传到windows server 2008 r2 的服务器上出现“AjaxMethod 未定义”错误,如下图:
/ {# z& H8 W3 f9 _8 V( X/ ]- o5 k. }, v8 G3 \9 Z: w- ~* }' F3 D
9 E; c* m' B; B/ D3 |! v
网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决...7 w' }' ~* e, j) Z; G/ R1 g# ~2 w2 O+ @
  L. t6 ^/ g- j5 P
下面总结解决方法:! O$ t6 u" Q0 Y: f
先看页面js代码
  1. <script language="javascript">
    ) `& |2 P5 o3 H; I9 u' }" u% a
  2.     var questionID;
    # O0 U4 E: u5 F$ F( w
  3.     function $(ID)
    - z4 [' I* Y0 n9 c
  4.         {, O# f# C5 f, J7 v: H! S1 j4 d/ o- Y
  5.             if(document.all)
    - _3 `- c' u' U. y  h2 Y5 ~+ V8 `
  6.                 return document.all[ID];" h* X) w+ U) k$ L
  7.             else if(document.getElementById)
    8 K, a2 G+ ~2 w- N3 d  A* p
  8.                 return document.getElementById(ID);; f2 q+ P% |* e" j# o6 ~. T
  9.             else
    # F" y/ \$ B; r1 p0 @
  10.                 return null;
    ! S- R+ {1 x5 E4 b( a4 ?( y
  11.         }
    . R' Q' N1 f: `5 B0 Y
  12. , d6 n1 D3 l( C( R+ G, g
  13.     function callback_test1(res)3 v, ?" w# g3 g' @  E; |
  14.     {* V% Y- y4 {$ T: j8 I( C9 {4 H0 ?
  15.         if(res.value =="-1")3 l; N5 w/ l! }/ q+ S5 s
  16.         {
    & L' N8 x* `# K
  17.             alert("必须输入数字");
    : m! n8 [5 z! C
  18.         }
    4 ?) l: Z1 R2 |+ h
  19.         else if(res.value == "-2")4 O( w$ r8 G, x# e0 j- k0 A" l6 E
  20.         {
    7 v2 \2 ~' y5 K
  21.             alert("得分不能超过题目标准得分");
    ' i  L% D! K2 i. ]8 _5 x
  22.         }. h8 m- F" _# w% W. W
  23.         else{
    4 L: \2 r# E3 F
  24.             var array  = res.value.split(",");
    ' I+ q6 _2 h/ q8 u( p: E% A
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];
    : D' t9 K9 x( R
  26.             document.getElementById('totalMark').innerHTML = array[1];
    6 E: @! p6 J8 h, b- Q2 L; m
  27.             alert("修改成功!");% G1 D: ]( z3 O: x% W! Y
  28.         }: Q% R' V. ?  h- {) t/ ~
  29.               b  m' {% v8 ]( I/ s
  30.     }
    ( u( A; R8 c$ D. r. ?& Y+ R1 [: Q5 g
  31.     function totalMark(spiID)
    * `, B4 ?* {7 |+ U0 R, p) ]
  32.     {
    : [/ z: G7 {1 X* ^+ ]' R5 R
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);* b. C7 A7 o* E+ _' D1 t
  34.     }9 n/ l. Q* g3 q9 M( B6 k+ r, V7 N
  35.     function editMark(btnID)" R+ S8 w5 j; ^3 O
  36.     {
    9 W/ t) m5 G0 g9 _# |9 a
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);1 |; t# `$ W2 v- ]: ~% U0 A" q
  38. : A7 e0 y* g) O" }
  39.         var studentPaperID = document.all.hiddenSpi.value;
    ( l8 d. [' N) e9 c3 o
  40.         questionID = btnID.substring(3,btnID.length);
    - b0 V" t) r# m& f/ W) ~( z1 S- Q- w
  41.             0 X  K# _$ k& Q
  42.         var mark = parseInt($(txtID).value);5 U0 ^# s( t+ x1 g9 r3 R' _; B
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);        % z( T3 L" m: V* j. g5 n3 \
  44.     }
    " K+ q0 h: ^% ?6 ^* v2 ~& C" Z) m' Z
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));
    ; [( G6 r- T  u+ K
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]) e( I% t7 f, W* M4 f" T7 G& Q
复制代码
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"/>
    , `, v( h5 b. Q" m2 t: E  q
  2. ' n, e* _$ C8 @* n, \
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加
    % ^& y  v0 Y+ z  p
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”9 ?0 u7 E% |. k$ A# v: K% j
  L7 ]: `! w9 z

0 i; _: B3 d2 O) _6 }问题解决

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-3-16 19:29 , Processed in 4.151527 second(s), 8 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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