ajax类未定义

venric 2006-11-02 05:32:49
[转]在一个项目中使用到ajax.dll类库

web.config 配置如下:
<configuration>

<system.web>
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
<!-- 动态调试编译
.....


Page_Load事件进行初始化 代码如下:

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
}

使用ajax实现的函数test() 代码如下:

[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public string a(string str)
{
return str;
}


然后在客户端使用javascript调用该方法:

<script language="javascript">
function ok()
{
alert(WebForm1.test("hello!").value);
}
</script>


最后就是问题所在了:

以上代码在本机上运行一切正常,但是将项目上传到虚拟主机后访问url出现javascript脚本错误

提示:"WebForm1"未定义

为什么会出现这样的提示?难道上传到服务器后ajax.dll不起作用了么?


我想问的问题跟这个贴子一样,不知哪位朋友能够指点一二呢.
...全文
445 24 打赏 收藏 举报
写回复
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
venric 2006-11-16
  • 打赏
  • 举报
回复
楼上的..服务器的IE俺动不了啊
hk200x 2006-11-16
  • 打赏
  • 举报
回复
我也碰到过同样的问题,也没有解决,你试试把服务器上的IE 工具->internet选项->安全->自定义级别->通过域访问数据资源,启用能不能行.
本地没有域的.
venric 2006-11-15
  • 打赏
  • 举报
回复
问题还没有解决...但是还要解了...只是郁闷高手为什么不肯浪费点时间帮帮我们呢...
jun-2013 2006-11-03
  • 打赏
  • 举报
回复
@venric()

我以前也是遇到过这样的问题,也是搞了好久,后来加上命名空间就好了。

不过现在MS出了自己的AJAX(atlas) 使用起来很简单的,你可以试试
venric 2006-11-03
  • 打赏
  • 举报
回复
songsu(松鼠) 我放在<form runat = "server"></form>中间试过了,感觉是一样的效果啊
venric 2006-11-03
  • 打赏
  • 举报
回复
C5662601 上传了.还是不行..... 听l6098627(似水流年) 的,也去学一下atlas才行,学到够用就好了.呵呵
C5662601 2006-11-03
  • 打赏
  • 举报
回复
把本地的aspnet_client文件传到服务器上试试
songsu 2006-11-02
  • 打赏
  • 举报
回复
寝室要停电了,明天继续
songsu 2006-11-02
  • 打赏
  • 举报
回复
function getServerTime()
{
alert(MyDemo.WebForm1.GetServerTime().value);
}

注意:调用 getServerTime() 的调用模块要放在 <form runat="server"></form>中间,否则会出现"MyDemo(命名空间)未定义"错误
songsu 2006-11-02
  • 打赏
  • 举报
回复
可能出现的问题:
(1)在 JavaScript 中调用的 Ajax 函数要放在 <form runat = "server"></form> 中,否则将提示 WebForm1 未定义

做一下广告:www.xproer.com,嘿嘿,偶刚做的小站,里面有一个小论坛,欢迎大家随时来访。
avisnet 2006-11-02
  • 打赏
  • 举报
回复
虚拟主机就是限制多
venric 2006-11-02
  • 打赏
  • 举报
回复
希望有解决了这个问题的朋友,能够和大家分享一下,不胜感激
venric 2006-11-02
  • 打赏
  • 举报
回复
lys1978900(天下無雙) 这样做也不行啊。其实很多人在小山的博客上都有这个问题的http://singlepine.cnblogs.com/articles/257954.html,虽然还没有解决,但是很谢谢这么多人的参与

lys1978900 2006-11-02
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="名称空间.类名" Debug="true" %>


==========================
javascript:
function test()
{
try
{
名称空间.类名.服务器端方法名(string1,start);

}
catch (e)
{
alert("错误!!");
return ;
}

}
}
function start(res)
{
alert(res.value);
}
venric 2006-11-02
  • 打赏
  • 举报
回复
l6098627(似水流年) 不行啊。。。。这样我试过的,行不通。
jun-2013 2006-11-02
  • 打赏
  • 举报
回复
WebForm1 这个要和你的页面类名一致。而且如果有命名空间也要加上
venric 2006-11-02
  • 打赏
  • 举报
回复
公司有服务器,我就不用每次都在虚拟主机上费那么大的神了。看来要换一种方式做了,今天想了一天。
贝贝壳壳 2006-11-02
  • 打赏
  • 举报
回复
虚拟主机就是有很多限制没有办法,有条件还是用自己的服务器。
venric 2006-11-02
  • 打赏
  • 举报
回复
fupip(小)¤(贝) 说的很有可能哦.如果是这样的话,那就没办法了,总不能每做一个项目,都打电话过去跟人家协商这个问题啊~~
股神 2006-11-02
  • 打赏
  • 举报
回复
顶..
加载更多回复(4)
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-11-02 05:32
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。