晨鸟科技

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

IIS7.5 AjaxMethod 未定义解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2010-9-13 17:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,交代下背景:# Z7 a2 X# t. M1 {
最近调试作业智能批改系统,其中在作业批改页用到了一点 ajax 技术(教师修改主观类题目分数需局部刷新),今天测试发现程序上传到windows server 2008 r2 的服务器上出现“AjaxMethod 未定义”错误,如下图:! o2 f* p; R8 i% L
( _+ @' @; ?  A& k

& t) p3 z* k& e2 x/ s4 ]; v网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决...
+ V8 `; x3 j5 D+ H0 z5 @
8 B2 g2 X. T- a  U; o6 x. }下面总结解决方法:
3 D: Y& B$ d1 C先看页面js代码
  1. <script language="javascript">* C8 A8 H! ^% S: ^! ~
  2.     var questionID;
    ) p1 `7 L+ @6 b/ `1 T
  3.     function $(ID)8 ]$ Z7 a; N% i2 D; T- g! F4 {
  4.         {
    7 h6 r2 `, E0 v+ S- ~0 C+ t4 p
  5.             if(document.all)/ H& d; q4 d, K
  6.                 return document.all[ID];
    6 ~2 ?+ p7 f; N& c. C( B! f  k
  7.             else if(document.getElementById): J7 [, q. B& h# p1 \6 X
  8.                 return document.getElementById(ID);
    * W5 a. O6 e9 [" w. `
  9.             else
      a7 o6 J) H9 y) k
  10.                 return null;
    ( ?: C" {1 {7 o$ R
  11.         }
    " l9 @) P5 z5 \
  12. 0 E2 [6 O) y; Z9 _- H% X8 M, p
  13.     function callback_test1(res)7 A2 j5 H. v# y0 k# c4 b7 ]' Y
  14.     {* r, f" n0 ?# Z$ t: F
  15.         if(res.value =="-1")5 \& J' M! J. t! g+ j/ n8 L
  16.         {1 P$ E+ I& H/ H' E
  17.             alert("必须输入数字");# C3 k1 K) O+ L
  18.         }
    0 f5 e, t8 c' O! n! I
  19.         else if(res.value == "-2"). g5 X4 e' N! r# t5 F- r( C
  20.         {0 y6 H8 O6 q/ O2 y9 D; f
  21.             alert("得分不能超过题目标准得分");# q: |" a) w9 r5 |
  22.         }
    , q' ?) U. v/ S
  23.         else{: J7 }# T/ X8 [0 n+ F1 f8 e' D. `
  24.             var array  = res.value.split(",");8 U1 ~- R, o5 y. t% g
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];
    1 d7 }2 U. S$ c4 N! V
  26.             document.getElementById('totalMark').innerHTML = array[1];; R; H1 X5 q  Y; e# k% E+ |
  27.             alert("修改成功!");  G! B' I* O2 R) N+ U/ Y1 ]
  28.         }
    ; \  E3 e8 `" n( b: c; q! Z- U8 H
  29.            
    . X+ p5 j4 I* R6 x9 k% y: h* i, y
  30.     }
    ( I. u0 |' y- {( i4 e
  31.     function totalMark(spiID)+ ]2 @: _+ {3 N
  32.     {" [) L  T0 D: ^- V, d
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);) \  P  }+ W! U9 S% S
  34.     }3 t1 z, P  U9 J; P) M9 ^7 X4 S- Y2 W
  35.     function editMark(btnID)
    ; h1 q6 B% D8 h4 I
  36.     {9 W$ _" w+ `/ i) h% G4 P9 j: b" B3 ~
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);
    , H1 |( j2 K8 _" o1 {
  38. ' Y$ X9 ]2 w! k9 ^& q
  39.         var studentPaperID = document.all.hiddenSpi.value;$ w; F# \2 a; D% w
  40.         questionID = btnID.substring(3,btnID.length);
    : Z- j+ j, L9 o  c
  41.             1 g  @0 c. v1 z% e0 `
  42.         var mark = parseInt($(txtID).value);
    . l3 ?( @2 ^, t: A3 X9 z
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);       
      `+ J+ t0 ], g7 ]& d
  44.     }
    . ~' K( \7 t* w/ U. O1 B
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));9 n: S  J' e% u5 Y& D" r* |* m
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]- c8 D+ F7 B/ G' W7 ?2 v  h2 y8 B
复制代码
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"/>' X: p2 T  }& L5 ?) c+ c) F! k! \

  2. 2 ]2 f! Y3 n$ i8 e& v+ j) ]! P9 O
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加
    2 X/ V1 }/ A6 r* U3 B& ?
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”
# U  H8 u$ Q0 l  y& r  ], a
5 z( T# d9 U+ n: `# M8 P' S
0 [$ V' y' x9 }" a) {. G问题解决

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-10-30 10:25 , Processed in 4.572950 second(s), 9 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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