晨鸟科技

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

IIS7.5 AjaxMethod 未定义解决办法

[复制链接]
跳转到指定楼层
楼主
发表于 2010-9-13 17:54:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先,交代下背景:$ X5 a8 Y: d* ^: q1 N* O
最近调试作业智能批改系统,其中在作业批改页用到了一点 ajax 技术(教师修改主观类题目分数需局部刷新),今天测试发现程序上传到windows server 2008 r2 的服务器上出现“AjaxMethod 未定义”错误,如下图:
' T( u8 F& T& C/ D4 z/ S) @6 v% D) P  l5 ~- a8 X8 T

; j& c2 K( C3 N8 G- q" F网上未找出此问题解决方法,纠结半天,最后修改服务器配置,问题解决...
% `: ^3 v: y9 ]. P4 k) g* X4 `: _) b% m' S  A
下面总结解决方法:" I7 w2 N3 {9 p- a7 p. K( b
先看页面js代码
  1. <script language="javascript">
    4 D' P6 r7 C3 J3 y- s
  2.     var questionID;
    * c$ ^/ E( z- N2 e$ a% x( _
  3.     function $(ID): [' Q- A: |3 x9 M9 E
  4.         {
    ) A1 R& S4 q& O4 A7 z
  5.             if(document.all)
    6 J4 e2 ~# `" b4 o6 B
  6.                 return document.all[ID];
    6 V: w6 d+ U% w) g
  7.             else if(document.getElementById)
    4 ^: i+ X" P" K
  8.                 return document.getElementById(ID);
    ! i9 y/ v8 |  U: Q, J. G# `- C4 K3 m
  9.             else
    / A9 G  W# l7 Y
  10.                 return null;6 |: A+ ?  o) C: }* |$ T
  11.         }, v7 }# y$ r- K9 n
  12.   e* f7 T3 l. |+ Q; q
  13.     function callback_test1(res)
    9 D. q; l  c6 ?# s$ m" \* d
  14.     {
    " |2 }$ d# T) ~: o8 s" D
  15.         if(res.value =="-1")7 q! ], X/ t# T
  16.         {: N$ o3 g0 n1 y/ |8 D# M4 X
  17.             alert("必须输入数字");
    / Y1 Y( x, r. s9 T5 h( q4 q' h
  18.         }' K- B8 Z% s$ m) W1 m5 V9 Y3 `
  19.         else if(res.value == "-2")# D) K9 ]1 N) Q8 B
  20.         {& j. C, [0 z# m9 K" r3 G
  21.             alert("得分不能超过题目标准得分");! H% o6 t( \$ r5 E2 I
  22.         }
    $ d1 Z- m6 K3 E* b( ?4 c$ ^4 M
  23.         else{8 R7 S$ m) e  T) [0 h- v
  24.             var array  = res.value.split(",");
    ) }! o6 k3 v! m7 C3 l7 @! I
  25.             document.getElementById("mark"+questionID).innerHTML = array[0];3 H5 a1 L+ E; R/ |
  26.             document.getElementById('totalMark').innerHTML = array[1];
    * X9 X" l7 |" o
  27.             alert("修改成功!");
    8 {) ?9 o# M  E6 c5 Y& b, _# x+ R
  28.         }
    ' e, {, q: X# a7 b- ^+ E
  29.            
      `5 I' j$ n% V7 V7 d
  30.     }
    # V4 o9 r% X6 O2 J+ d  H. F# ^
  31.     function totalMark(spiID)! \/ }1 W7 h& q5 n" q/ G7 Y! h, F% C
  32.     {
    5 j1 p/ I9 o  x8 ]7 p& ?! t
  33.         AjaxMethod.TotalMark(spiID,callback_totalMark);
    , A8 K$ {3 `1 U( H
  34.     }% M/ E* f- k8 d( S2 i4 f
  35.     function editMark(btnID)
    ! R! k2 _4 [* E7 ^0 n) j0 f3 f- c" B
  36.     {$ z& \$ n2 q  T
  37.         var txtID = "txt"+btnID.substring(3,btnID.length);# a" K/ y2 N  E9 F0 M
  38. 6 T( D/ K1 q6 F% R* C
  39.         var studentPaperID = document.all.hiddenSpi.value;
    ( C8 _# M! S0 W. Z% ]
  40.         questionID = btnID.substring(3,btnID.length);
    . j) W9 g5 _" v7 p5 ^$ P
  41.             0 K8 i" H0 o; u8 H. I
  42.         var mark = parseInt($(txtID).value);9 p5 q2 _- u' J1 l! f' n. w
  43.        AjaxMethod.EditDiscussMark(studentPaperID,questionID,mark,callback_test1);       
    - u- M3 ^7 K9 ?5 D( C" r+ F
  44.     }) f1 c  r9 B7 w9 j
  45. </script>
复制代码
1.页面.cs文件中的Page_Load须包含
  1.                         Ajax.Utility.RegisterTypeForAjax(typeof(Ajax.AjaxMethod));! I, ^( a# \& H9 s- n' R1 u" [; B/ V
复制代码
2.AjaxMethod类中添加
  1.         [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
    7 I! Q, V9 V0 y  O" l& F% c
复制代码
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"/>
    . d" G8 x; ~7 I2 q1 E; Z( V
  2. ! }+ J  O2 \0 k* [; h, q* m
  3.       <add name="AjaxMethod" type="Ajax.PageHandlerFactory, Ajax" verb="POST,GET" path="ajax/*.ashx" />  //IIS版本为7.0以上添加. V; k8 ^5 c# O: Z2 g3 s
复制代码
5.打开IIS,点击“应用程序池”——右键“高级设置”——启用32位应用程序“True”2 I2 K7 L7 c1 z
& ]- g3 @5 m+ H% S4 r. G8 E
5 M! B1 u- t! I) n
问题解决

本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2025-12-14 18:01 , Processed in 6.062733 second(s), 8 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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