初学AJAX访问WEB SERVICE,发现一个webservice未定义的错误,搞了一天都没搞定,100分求正解!!!!

shark2004 2007-11-01 03:58:55
初学AJAX访问WEB SERVICE,发现一个webservice未定义的错误,搞了一天都没搞定,100分求正解!!!!代码如下:

web service:

using System;
using System.Web;
using System.Xml;
using System.IO;
using System.Data;
using System.Data.OracleClient;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;

[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class Service : System.Web.Services.WebService
{
public Service()
{

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
}

前台页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="http://localhost/CallService/Service.asmx" />
</Services>
</asp:ScriptManager>
<div>
<input id="ip" value="192.168.8.11" /><input type="button" id="tijiao" onclick="getSeatNo()" value="获取通道号" /><p></p>
<input id="seat" value="通道号" />
</div>
<script type="text/javascript" language="javascript">
function getSeatNo()
{
aaa=Service.HelloWorld();
alert(aa);
}
</script>
</form>
</body>
</html>


开发环境是VS2005,AJAX 1.0
请各位达人帮忙看看,十万火急啊!!!!!
在线等!!!

...全文
775 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoujing19891020 2011-05-20
  • 打赏
  • 举报
回复
楼主,我也遇到和你一样的问题,但是我把webservice的cs文件放在和asmx文件一个目录下还是不行啊!急
shark2004 2007-11-02
  • 打赏
  • 举报
回复
各位老大,我刚又测试了一下,把service.asmx文件和放在站点的目录下,是没有问题的

但是把WEB SERVICE和WEB 站点分开创建就不行,请问这是什么原因呢?
难道只能放在一块吗?

谢谢各位了
shark2004 2007-11-02
  • 打赏
  • 举报
回复
to cdc1982:
收到了,正在研究,多谢了

to cat_hsfz :
我的WEB SERVICE和WEB 站点是在同一台机子上的,不知道为什么会出错
cdc1982 2007-11-01
  • 打赏
  • 举报
回复
发给你了,你看看
cat_hsfz 2007-11-01
  • 打赏
  • 举报
回复
要访问其它服务器上的Web Service,除非域名相同,否则要做桥接,因为浏览器是禁止跨域名调用的。
shark2004 2007-11-01
  • 打赏
  • 举报
回复
shark2004@fj133165.com

多谢各位大侠了!
cdc1982 2007-11-01
  • 打赏
  • 举报
回复
给个Email,发个Demo给你
seedling_lq 2007-11-01
  • 打赏
  • 举报
回复
给你找了篇文章,你照着做就行了,具体问题只有你自己分析了
http://blog.csdn.net/hflkl1314/archive/2007/09/10/1778657.aspx
shark2004 2007-11-01
  • 打赏
  • 举报
回复
呵呵,我现在先不考虑安全问题,就是想先把这个错误解决掉再说
我刚试了相对路径,好像没什么用,还是那个错


各位大侠快帮我再出出主意!
多谢多谢啦
seedling_lq 2007-11-01
  • 打赏
  • 举报
回复
相对路径就是这个webservice相对与你的调用页面的路径,调用时用回调函数将结果取出
用url真的会造成很多安全问题,具体你可以去webcast听下asp.net ajax相关课程就明白了
shark2004 2007-11-01
  • 打赏
  • 举报
回复
我尝试new了一下,结果错误依旧
shark2004 2007-11-01
  • 打赏
  • 举报
回复
请问seedling_lq :
PATH不能为URL吗?相对路径该怎么写呢?

假如要访问的是不同机子上的WEB SERVICE,那又该怎么处理呢?

多谢几位大侠了
seedling_lq 2007-11-01
  • 打赏
  • 举报
回复
几个地方注意一下:
<asp:ServiceReference Path= "http://localhost/CallService/Service.asmx "/>path改成相对路径,同时
InlineScript属性置为true,改成<asp:ServiceReference Path="Service.asmx" InlineScript="true"/>

调用时改成
<script type="text/javascript">
function getSeatNo()
{
var ws = new Service();
ws.HelloWorld(Succeeded);
}

function Succeeded(result)
{
alert(result);
}
</script>

liusen5555 2007-11-01
  • 打赏
  • 举报
回复
http://www.dayitren.com/html/biancheng/_net/20070120/318.html
去看一下 有帮助吗?
shark2004 2007-11-01
  • 打赏
  • 举报
回复
谢谢 hanguoji84 的回答

我是从网上看到的源码,基本上没有差别的,只是不知道为什么会出这样的错误
可能2005与2003有一定的区别吧

请大侠们多多帮忙!!
shark2004 2007-11-01
  • 打赏
  • 举报
回复
不是吧,现在CSDN怎么成这样子了,这么冷?!!!

看来以后真的不用来了!
hanguoji84 2007-11-01
  • 打赏
  • 举报
回复
Service理论上来说要在后台new一下吧,我在vs2003的类中直接写一个函数来调用webservice然后返回值,通过前台来调用自己cs类文件中自己定义的函数来获取返回值。
在自定义的函数中调用webservice。
shark2004 2007-11-01
  • 打赏
  • 举报
回复
晕,怎么没人回答,没人遇到这个问题吗?
在网上查了半天也没解决

错误是:'Service'未定义


62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧