使用Ajax.dll实现ajax功能时出现'某某'未定义的解决方案
2011-03-15 23:24
513 查看
今天使用ajax.dll的时候遇到 'AjaxManager' 未定义的错误。
看了看配置、代码没什么问题呀,也在网上翻了不少帖子,问题没解决。
最后把js代码放到body下面居然解决了。
代码如下
web.config
.......
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
......
AjaxManager类, 在App_Code文件夹内
using Ajax;
using BLL;
public class AjaxManager
{
[AjaxMethod]
public string GetStr(string a, string b)
{
return Class1.GetStr(a, b);//返回a+b
}
}
页面类
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxManager));
}
}
aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >
function GetStr() {
var a = 2;
var b = 5;
AjaxManager.GetStr(a, b, GetGetStr_CallBack);
}
function GetGetStr_CallBack(response) {
alert(response.value);
}
GetStr();
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
//End
怎么修改,调试都报错。
后来想起一些js的经验,就把js脚本放到form后面去了,问题就解决了。
但是为什么会这样没弄明白,看以前上学时写的代码明明就是放在head之间的呀(后来基本都用mvc了)。
这问题留待以后研究吧。呵呵。
另外,看网上有资料说,iis7中还要配置
<system.webServer>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
</system.webServer>
欢迎大家有时间到我的小站去看看
www.joyoustore.com
看了看配置、代码没什么问题呀,也在网上翻了不少帖子,问题没解决。
最后把js代码放到body下面居然解决了。
代码如下
web.config
.......
<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
......
AjaxManager类, 在App_Code文件夹内
using Ajax;
using BLL;
public class AjaxManager
{
[AjaxMethod]
public string GetStr(string a, string b)
{
return Class1.GetStr(a, b);//返回a+b
}
}
页面类
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxManager));
}
}
aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript" >
function GetStr() {
var a = 2;
var b = 5;
AjaxManager.GetStr(a, b, GetGetStr_CallBack);
}
function GetGetStr_CallBack(response) {
alert(response.value);
}
GetStr();
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
//End
怎么修改,调试都报错。
后来想起一些js的经验,就把js脚本放到form后面去了,问题就解决了。
但是为什么会这样没弄明白,看以前上学时写的代码明明就是放在head之间的呀(后来基本都用mvc了)。
这问题留待以后研究吧。呵呵。
另外,看网上有资料说,iis7中还要配置
<system.webServer>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
</system.webServer>
欢迎大家有时间到我的小站去看看
www.joyoustore.com
相关文章推荐
- vs2005使用Ajax 出现Sys未定义
- struts2之使用JSON插件实现Ajax(处理hibernate的POJO类时出现的异常)
- 使用package(包功能)实现DLL与主程序的数据库连接共享(Delphi版)
- 几种方法实现ajax请求内容时使用浏览器后退和前进功能
- 最近使用ajaxFileUpload和Jcrop来实现图片上传和截图,出现一个图片无法更换的问题
- >使用 ICallbackEventHandler 接口 实现 AJAX 功能
- 使用php+ajax实现登录功能教程
- Java使用Ajax实现跨域上传图片功能
- 使用ajaxfileupload.js实现上传文件功能
- SpringMVC(27):json数据的传递处理的示例(实现功能:使用jQuery框架的ajax()方法实现用户信息查看)
- 在使用ajaxcontroltoolkit时出现 'SYS' 未定义
- thinkphp使用ajax、jquery、Mysql实现了简单的客户端通信功能
- 使用mysql、php和Ajax实现点赞功能
- 使用Ajax的Time实现倒计时功能
- 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
- 使用JavaScript实现单击复选框实现全选与全不选功能并通过ajax实现批量删除功能
- DLL函数定义和函数实现写函数类型的不同, 引起不能使用Dll中的函数
- 使用ajaxToolkit组件实现类型google,百度下拉框匹配功能
- 使用SevenZipSharp出现“Can not load 7-zip library or internal COM error! Message: DLL file does not exist.”的解决方案
- 关于spring-mvc中使用ajax调用后台接口出现400 bad request的问题解决方案