冯东的博客

每天学一点,不断进取
posts - 86, comments - 319, trackbacks - 8, articles - 4
  博客园 :: 首页 :: 新随笔 ::  :: 订阅 订阅 :: 管理

如何在ASP.Net Ajax中调用WebService

Posted on 2006-11-26 16:44 冯东 阅读(2222) 评论(10) 编辑 收藏

今天我想实现利用JavaScript调用WebService我首先就想到了ASP.Net Ajax 因为微软的东西用着方便,我从网上看了看,这东西好多人都写了,我就从官方找了个Demo下了看看源代码,感觉没什么特殊的,于是动手开始写.先添加一个webservice.asmx然后在default.aspx中加入ScriptManager 并设置serviecs属性
<asp:ScriptManager runat="server" ID="scriptManager">
        <services>
                <asp:servicereference  path="webservice.asmx" />
        services>
</asp:ScriptManager>
然后我有加了个button 并为其指定click事件
<button onclick="getHello()">hello world</button>
接下来开始写脚本
<script type="text/javascript">
    function getHello()
    {
        webservice.HelloWorld(callComplete);
    }
    function callComplete(result)
    {
        alert(result);
    }
</script>
按说应该没有什么问题了但是点击按钮的时候脚本报错 webservice未定义
我就开始和人家的开始比,到底是哪错了,一开始我以为是脚本写的不对,后来看到webservice那部分发现 人家导如了Microsoft.Web.Script.Services;这个命名空间,而且在类前设置了[ScriptService]属性,我觉得问题可能就在这了,加上就可以了!

Feedback

#1楼  回复 引用 查看   

2006-11-27 08:50 by 小镇姑娘她爹      
well done

#2楼  回复 引用   

2007-01-26 10:50 by shining
呵呵,我跟你碰到一样的问题,在你这得救拉,谢谢哈

#3楼  回复 引用   

2007-01-29 13:31 by bryan[未注册用户]
想问一下啊,有没有试过用网页的形式调用过delphi编写的web services啊,我现在的问题就是这样的啊,我的web services是用delphi写的,现在用网页来调用不知如何实现啊???

#4楼[楼主]  回复 引用 查看   

2007-02-27 15:47 by 冯东      
我没用过Delphin 的 web service,我觉得关键不是你的Web Service是用什么写的,而是你调用的网页是Jsp还是Aspx,这要是这个不一样吧。

#5楼  回复 引用   

2007-04-21 13:59 by luanshf[未注册用户]
能不能问一下,怎么利用js向WebService发送带有参数的请求

#6楼  回复 引用   

2007-04-23 13:14 by luanshf[未注册用户]
没事了

#7楼  回复 引用   

2007-10-25 16:10 by 电风扇的[未注册用户]
为什么我这样就不行呢?

#8楼[楼主]  回复 引用 查看   

2007-10-25 20:50 by 冯东      
@电风扇的
我编写这段代码的时候还是beat版的,跟现在新的版本肯定有很多差距

#9楼  回复 引用   

2008-01-10 10:08 by 冷柳飒[未注册用户]
晕,按你说的做,一些问题是解决了,但是还是不行。

报错如:
页面加载时:
‘Sys’未定义。

点击按钮时:
‘SimpleWebService’未定义。

汗。。。。。

#10楼  回复 引用   

2008-11-17 10:35 by kalin[未注册用户]
‘Sys’未定义。:
web.config中加入以下代码

<httpHandlers>

<add verb ="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />


</httpHandlers>

SimpleWebService’:
请确定webservice的类名 for example :WebService类里面的方法getHello() ,那么在脚本调用的时候也用webservice.getHello()
调用相应的方法.