晨鸟科技

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

IIS7.5 AjaxMethod 未定义解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2010-9-13 17:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,交代下背景:- ?: n. u# D- j; i7 F( C- M
最近调试作业智能批改系统,其中在作业批改页用到了一点 ajax 技术(教师修改主观类题目分数需局部刷新),今天测试发现程序上传到windows server 2008 r2 的服务器上出现“AjaxMethod 未定义”错误,如下图:
( o& _* O& N0 N: c* \' N# T, B1 a
; N1 h. c0 b' g+ t2 E! r- \8 u& P0 H
网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决...8 a2 `7 L! p% x8 }+ S
0 V3 m: C7 T# r# d
下面总结解决方法:& U' z9 O4 u, s6 b* E6 y
先看页面js代码
  1. <script language="javascript">/ W: W  u5 J9 P! @6 p# Z
  2.     var questionID;
    , `! s% W+ U8 m' Y4 ]( m1 X: w
  3.     function $(ID)
    + M1 w0 |  I. s
  4.         {8 R2 p6 p: w0 X+ z
  5.             if(document.all)3 G( a5 \" p1 ^* u5 S% E
  6.                 return document.all[ID];+ Z4 ?9 _, w/ T& M
  7.             else if(document.getElementById), f3 r( m) [' R. D5 X. l
  8.                 return document.getElementById(ID);
    5 B. l' l5 e7 @6 o: l3 r' F
  9.             else
    % Q; p. ^& {6 ^; U7 ^
  10.                 return null;1 Y( f  W0 j+ I0 c7 L& b
  11.         }
    * Y2 k5 E4 c% p2 Y
  12. 9 F2 Y* g1 G2 A+ X/ r
  13.     function callback_test1(res)
    " j" V6 ^) \+ N% i0 Y0 n& u
  14.     {& N/ M  |/ ~' e  e
  15.         if(res.value =="-1")) S5 @1 u$ ~8 E( f/ _
  16.         {. q1 E$ [* M4 u/ G' n5 {
  17.             alert("必须输入数字");
    3 }2 E! r: ~; U9 X2 M) Z7 ^; V
  18.         }
    9 L8 ?. E* ?$ G0 \4 _6 G5 s/ t
  19.         else if(res.value == "-2")
    ! F/ I, G7 J- |" ~4 ?1 Y6 P# z
  20.         {+ b9 [. _, p9 s5 S0 b6 ]
  21.             alert("得分不能超过题目标准得分");% L5 k' J* \% m+ M" c& H
  22.         }  g3 B1 a$ s; U" u
  23.         else{
    . N& u( U) X& w7 m
  24.             var array  = res.value.split(",");
    " o) m% R9 Y, `
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];
      \& H6 E) `# x8 F5 n! H; @* V
  26.             document.getElementById('totalMark').innerHTML = array[1];, J2 q5 n( X7 K6 @, |5 c& @1 @
  27.             alert("修改成功!");- g. ?( |( l1 J; R: L
  28.         }
    2 U9 b! U. P5 Q, f' S& p, {! ^
  29.            
    1 b8 U) X* r* @! b9 p  X. w
  30.     }
    9 }" [2 G1 T% t7 B* w8 C/ @* l- w
  31.     function totalMark(spiID)# q+ X+ O5 v+ Q7 B/ g& d+ j
  32.     {) _9 X" U# U) s* Y2 z# M
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);# ]/ p1 Y. U- l8 e6 O+ q' l
  34.     }+ J( e. e: F. Y! x& l
  35.     function editMark(btnID)- R7 j# V* E7 ~# r
  36.     {. C3 I9 b, Q+ p2 ]- q/ N3 x9 W
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);# p' K* ~4 g5 S* @
  38. : L, _% ~) J% W8 P( p7 Q2 Y
  39.         var studentPaperID = document.all.hiddenSpi.value;; r- x$ ^8 l: x( g- D" k3 V
  40.         questionID = btnID.substring(3,btnID.length);6 n: p# q1 q4 V! F: Q2 U, l
  41.            
    . o- y! E5 {4 q* }3 S( S+ i
  42.         var mark = parseInt($(txtID).value);( Q+ C8 ^( w- I
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);        ! h% Y& Y- J- Q8 v4 N
  44.     }
    ) O0 e# M" E! g2 j, x* ]! _
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));4 `" x$ `8 q8 ?5 B) G. |
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]: m1 R& T1 d# ~" F0 }" v
复制代码
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"/>
    : o& _7 b& `4 J& x/ x) n/ X

  2. 9 ^3 e+ T' I( c" A1 P! F
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加$ f' @% B3 g; u3 K) r
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”1 q9 E: D: A8 L2 l

4 q0 M: a2 V& {. ~7 I2 Z% X* r$ N/ ?+ c7 I* t5 M; |
问题解决

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-6-21 11:37 , Processed in 6.070901 second(s), 9 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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