晨鸟科技

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

IIS7.5 AjaxMethod 未定义解决办法

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

/ }6 T6 w8 `1 y) B  j
5 V7 n$ X* w& ~; {# X- u网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决.../ ]1 S6 ?2 i- ]/ Z$ z- r, K- p
5 w3 m1 u: T  x: z+ {; l2 S
下面总结解决方法:
3 ~5 q! ]: @$ G$ B/ g先看页面js代码
  1. <script language="javascript">
    3 q9 W& w7 o1 T! b  t- w$ ~4 e
  2.     var questionID;" B- b& A# C0 v7 t1 e$ S7 a1 n
  3.     function $(ID): r1 I1 [0 a+ e4 g) {& [# k8 C
  4.         {5 Q3 V4 F) M  {8 v% @
  5.             if(document.all)
    " O/ I5 K3 U' |' `
  6.                 return document.all[ID];
    4 Z3 s9 Q8 v* W, v
  7.             else if(document.getElementById)" Y/ X' I1 l) w4 s* [. H( j" C) W
  8.                 return document.getElementById(ID);& c  w0 |5 y; w& m" M
  9.             else( l- e2 S; P8 W$ l$ ?! G
  10.                 return null;" J8 W: k9 _* M( M8 b( M
  11.         }* p  m! e: L4 U7 C) Q
  12. ( Y$ y8 X9 j% f0 N5 V3 d
  13.     function callback_test1(res)
    3 P( T; S9 D7 V6 {! Z; n
  14.     {
    # w/ X' w! H" z% N+ K, Y0 B
  15.         if(res.value =="-1"): Q7 F/ F, M3 t2 }1 e3 Y, q
  16.         {
    ) c, H9 h6 M# p$ c9 S5 p
  17.             alert("必须输入数字");
    4 P2 ^) n3 z+ i2 M4 t5 W) ^/ z( ?
  18.         }( \* d/ S. r$ P- ^2 t9 V) v
  19.         else if(res.value == "-2")
    " M/ N8 E) k# j$ c! U
  20.         {
    7 U. R" c1 e* l) n
  21.             alert("得分不能超过题目标准得分");, ?3 ]2 i( \' G$ A- s
  22.         }* [: A( i( N! i' P& K8 x6 k
  23.         else{# T3 k2 z, J% Z' A3 T
  24.             var array  = res.value.split(",");
    # u1 E7 S6 R" H* A4 j$ [
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];
    " a5 j: [; P# `* o3 N+ ~
  26.             document.getElementById('totalMark').innerHTML = array[1];) x& u( x+ e. ]# c- s8 t
  27.             alert("修改成功!");7 x6 Q( F! }! r1 L
  28.         }
    5 T0 G' Z8 y3 ?  g5 h+ A9 U
  29.             " n" m* S, R4 j. ]8 h6 G  M7 l8 D
  30.     }/ A( {. a7 m7 F$ T9 ^9 K# A
  31.     function totalMark(spiID)
    8 G3 P' ^6 C* r' j9 e1 K2 O
  32.     {
    - p) V5 b; o: W0 f
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);# z& E/ q! |  ?, X# \9 l, ^
  34.     }) `# j3 W6 w. r0 E
  35.     function editMark(btnID)
    % K; L* L4 T. b
  36.     {' I% Z6 r* i& l  D# |
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);( O9 N; O2 j% X9 a( W# S4 S$ e
  38. : x+ d6 N, u% K* |" C& z' }
  39.         var studentPaperID = document.all.hiddenSpi.value;
    3 B6 i" q4 [  C4 r* T
  40.         questionID = btnID.substring(3,btnID.length);" C) j5 l" }% e! B. E: m! Q
  41.            
    5 ?5 I$ N1 I9 ^( @5 ~& {
  42.         var mark = parseInt($(txtID).value);
    ( g5 n' a+ Z9 i/ F0 r! L- j8 a- c
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);        / Y" T! _( n4 p+ x9 C4 [
  44.     }
    $ r9 @1 t- x7 [% \, v$ H- i: ]
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));
    3 F$ S! t$ G+ R; K, D
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]3 ^, K: V+ Z; \5 w8 A! r- p
复制代码
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"/>3 t; @0 F* t4 ~$ j8 H2 B8 R
  2. ( q$ x) v3 T  O3 ]
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加6 g$ P8 n  |' o0 Y1 s* a; Q: p
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”
; E! V; Q2 W& Y3 @& Z( y2 `6 `2 c3 c- S  `
7 s$ L! U- `1 L6 n$ q
问题解决

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2026-3-15 16:36 , Processed in 6.070546 second(s), 9 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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