晨鸟科技

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

IIS7.5 AjaxMethod 未定义解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2010-9-13 17:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,交代下背景:
5 L! g, C, [' A# k# D4 |最近调试作业智能批改系统,其中在作业批改页用到了一点 ajax 技术(教师修改主观类题目分数需局部刷新),今天测试发现程序上传到windows server 2008 r2 的服务器上出现“AjaxMethod 未定义”错误,如下图:
, |* b6 j+ C) b  q, O, \' J4 B$ B' W5 F$ _* s1 \- j: l# s
6 M' _6 _# }0 _" T# Z
网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决...
1 R# }5 z. e! j$ @) R2 i3 ^* @& x  [6 j. a, C4 J
下面总结解决方法:! ~8 q/ q. z6 W- l5 V( J' j
先看页面js代码
  1. <script language="javascript">$ T1 Q% a& _. K6 e; ]8 Z" G
  2.     var questionID;
      f) H  s2 M4 w3 e7 m) E
  3.     function $(ID)
      S# V! S5 X# l  z+ V
  4.         {
    7 C* q) U4 H) W7 U0 m& s8 x* b8 n+ f3 U
  5.             if(document.all)" r9 @7 E3 P  A" f
  6.                 return document.all[ID];: G1 |4 x! b+ ]/ L, q; R" w
  7.             else if(document.getElementById); q3 ?) t, p4 A' H; o5 H
  8.                 return document.getElementById(ID);
    , u6 _4 K! S# _5 \! \
  9.             else4 n* \/ [7 }3 R) T9 x' n
  10.                 return null;8 B0 U0 E; T6 A: m+ ^
  11.         }. j: {/ U  n0 h( K

  12. 9 [# C# }+ m% N. E4 W# h: L
  13.     function callback_test1(res)
    $ `, }$ c' [7 o" U) Z
  14.     {
    1 L1 v$ H$ I) |/ x) q' Y
  15.         if(res.value =="-1"), d. h  c1 k% }5 X
  16.         {
    0 g* p2 K+ h- X3 [' F, y' l" n
  17.             alert("必须输入数字");! `& q$ C) m( u! L2 ^! A% g- N
  18.         }4 K& I! F0 g1 {/ W1 B& |
  19.         else if(res.value == "-2"), E7 B( N# q8 h% ~4 g& s
  20.         {
    0 k( P. o8 T' d/ B/ I4 ^. l
  21.             alert("得分不能超过题目标准得分");5 t; Y' M" c* B/ t
  22.         }
    ) p! v( e+ r; B- K; M4 J' t+ o3 b7 a
  23.         else{
    9 {5 X1 e' ~# }, C# S% ~2 f5 k: A; q
  24.             var array  = res.value.split(",");" ]# ~% }; c4 L4 H" A" z2 N* E
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];
    # u. B, `2 U, p- k. f
  26.             document.getElementById('totalMark').innerHTML = array[1];0 S7 X6 {6 S) b! g
  27.             alert("修改成功!");; b) F/ S# A( ~, o
  28.         }# N8 I& l8 R# O/ G  K2 s+ f2 B0 f; S
  29.            
    9 B$ u2 T& @' l& z* G: V
  30.     }- h; A8 m, M1 x8 C* }9 c4 e4 ^
  31.     function totalMark(spiID)/ D! |$ ?" F+ n1 S& }
  32.     {
    ) y2 L( K3 t% j4 Q/ g0 l1 |/ b% \" e4 D
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);& e6 {2 b5 K, |
  34.     }
    + W$ V1 i$ a/ o& O8 W
  35.     function editMark(btnID)
    $ m- H6 }7 d( I: w
  36.     {
    9 V+ y; h/ v6 Z
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);1 ^5 _) Y9 ~8 u/ V) A! T9 y
  38. + O3 u& `+ C9 i; c( b
  39.         var studentPaperID = document.all.hiddenSpi.value;" M/ N' a. S& K! o; H+ C1 r& X
  40.         questionID = btnID.substring(3,btnID.length);/ y* `$ G# a, [8 m1 I9 _0 y
  41.            
    5 n* ]: o9 R# z7 \1 g% u8 u
  42.         var mark = parseInt($(txtID).value);) F' H. T  U7 Z/ \0 L- n
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);       
    2 M9 f! t, S" E( C- E" z
  44.     }# u9 ~1 o6 q) V+ L, d' i- Q
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));
    ; j3 i- T+ Y; A+ A  p  {, `1 C% B
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
    3 g0 c2 q/ F3 F( Y
复制代码
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"/>2 G. r" C# A7 a: E1 B
  2. ; \  @- ^  g- y& W5 d5 C
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加" V' a9 \# Z/ r* @: s; U
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”
% \# K0 x5 t0 B
4 O. }* C' K, t7 m( P, f
- O* ^6 E! Z! w) X+ E+ u问题解决

本帖子中包含更多资源

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

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

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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