专注WEB开发技术 @ 修身、齐家、治国、平天下!
ASP.NET,C#,VB.NET
posts - 120, comments - 53, trackbacks - 0, articles - 8
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
Ajax 调用 WebService 简单例子
Posted on 2007-12-04 09:47
孤峰皓月
阅读(647)
评论(0)
编辑
收藏
网摘
所属分类:
ASP.NET 学习笔记
,
.net 技术文章
,
Web Services
,
Ajax
XMLHttpRequest对象的属性:
onreadystatechange 指定当readyState属性改变时的事件处理
readystate 返回当前请求的状态
responseBody 以unsigned byte数组形式返回
responseStream 以Ado Stream对象的形式返回
responseText 作为字符串返回
responseXML 将响应的信息格式为Xml Document对象返回
status 当前请求的HTTP状态码
statusText 返回当前请求的响应行状态
XMLHttpRequest对象的方法:
abort
getAllResponseHeaders
getResponseHeader
open
send
setRequestHeader
===========================================================
下面是一个完整的实例
===========================================================
ajax_service.cs (webService文件
Ajax_Service.asmx
的后台)
1
using
System;
2
using
System.Web;
3
using
System.Collections;
4
using
System.Web.Services;
5
using
System.Web.Services.Protocols;
6
7
8
/**/
///
<summary>
9
///
Ajax_Service 的摘要说明
10
///
</summary>
11
[WebService(Namespace
=
"
http://tempuri.org/
"
)]
12
[WebServiceBinding(ConformsTo
=
WsiProfiles.BasicProfile1_1)]
13
public
class
Ajax_Service : System.Web.Services.WebService
{
14
15
public
Ajax_Service ()
{
16
17
//
如果使用设计的组件,请取消注释以下行
18
//
InitializeComponent();
19
}
20
21
[WebMethod]
22
public
string
HelloWorld()
{
23
return
"
Hello World
"
;
24
}
25
26
27
/**/
/*
28
返回a+b的和
29
*/
30
[WebMethod]
31
public
int
Sum(
int
a,
int
b)
32
{
33
return
a
+
b;
34
}
35
36
}
37
38
前台文件:
Ajax_Service.aspx
1
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Ajax_Service.aspx.cs
"
Inherits
=
"
Ajax_Service
"
%>
2
3
<!
DOCTYPE html PUBLIC
"
-//W3C//DTD XHTML 1.0 Transitional//EN
"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
"
>
4
5
<
html xmlns
=
"
http://www.w3.org/1999/xhtml
"
>
6
<
head runat
=
"
server
"
>
7
<
title
>
Ajax_WebService
</
title
>
8
9
<
script type
=
"
text/javascript
"
>
10
11
var xmlhttp;
12
13
function createXmlhttp()
14
{
15
if
(window.XMLHttpRequest)
16
{
17
xmlhttp
=
new
XMLHttpRequest();
18
}
19
else
if
(window.ActiveXObject)
20
{
21
try
22
{
23
xmlhttp
=
new
ActiveXObject(
"
Msxml2.XMLHTTP
"
);
24
}
25
catch
(e)
26
{
27
xmlhttp
=
new
ActiveXObject(
"
Microsoft.XMLHTTP
"
);
28
}
29
}
30
31
if
(
!
xmlhttp)
32
{
33
alert(
'
您的浏览器不支持XMLHttpRequest
'
);
34
}
35
return
xmlhttp;
36
}
37
38
function SumIt()
39
{
40
createXmlhttp();
41
var url
=
"
http://localhost:8051/Ajax_Service.asmx/Sum
"
;
42
var queryString
=
createQueryString();
43
xmlhttp.open(
"
POST
"
,url,
true
);
44
xmlhttp.onreadystatechange
=
handleStateChange;
45
xmlhttp.setRequestHeader(
"
Content-Type
"
,
"
application/x-www-form-urlencoded;
"
);
46
xmlhttp.send(queryString);
47
}
48
49
50
function createQueryString()
51
{
52
var a
=
document.getElementById(
'
txbA
'
).value;
53
var b
=
document.getElementById(
'
txbB
'
).value;
54
var queryString
=
'
a=
'
+
a
+
'
&b=
'
+
b;
55
return
queryString;
56
}
57
58
function handleStateChange()
59
{
60
if
(xmlhttp.readyState
==
4
)
61
{
62
if
(xmlhttp.status
==
200
)
63
{
64
displayResult();
65
}
66
}
67
}
68
69
function displayResult()
70
{
71
var result
=
document.getElementById(
'
lblResult
'
);
72
result.innerText
=
'
计算结果:
'
+
xmlhttp.responseXML.getElementsByTagName(
'
int
'
)[
0
].firstChild.data;
73
74
}
75
76
</
script
>
77
78
</
head
>
79
<
body
>
80
<
form id
=
"
form1
"
runat
=
"
server
"
>
81
<
div
>
82
83
<
input type
=
"
text
"
id
=
"
txbA
"
/>
84
<
input type
=
"
text
"
id
=
"
txbB
"
/>
85
<
input type
=
"
button
"
id
=
"
btm
"
value
=
"
计算
"
onclick
=
"
SumIt();
"
/>
86
87
<
label id
=
"
lblResult
"
></
label
>
88
</
div
>
89
</
form
>
90
</
body
>
91
</
html
>
92
0
0
0
(请您对文章做出评价)
«
上一篇:
AJAX.PRO 简单事例
»
下一篇:
在ASP.NET AJAX中防止用户多次提交页面
注册用户登录后才能发表评论,请
登录
或
注册
。
IT新闻
:
·
知名扩展 Firebug 的简化版登陆 Chrome
·
Google 悄悄地启用 1e100.net,打枪地不要
·
从 Google 代码库找到的好东西
·
苹果在线商店临时关闭 或将推新Macbook
·
豆瓣网推出豆瓣电台iPhone客户端
每天10分钟,轻松学英语
专题:
iPad
jQuery
Windows 7
网站导航:
博客园首页
IT新闻
个人主页
闪存
程序员招聘
社区
博问
网摘
China-pub 计算机图书网上专卖店!6.5万品种2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关搜索:
ASP.NET 学习笔记
.net 技术文章
Web Services
Ajax
在知识库中查看:
Ajax 调用 WebService 简单例子
Powered by:
博客园
Copyright © 孤峰皓月
日历
<
2007年12月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
公告
我的主页
个人资料
我的闪存
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
我参与的团队
.NET新手training活动(0/0)
.NET 控件与组件开发(0/0)
广州.NET俱乐部(0/0)
系统分析师.NET俱乐部(0/0)
ASP.NET AJAX (Atlas)学习(0/0)
企业内网开发集成应用(0/0)
我的标签
Ext(1)
Ajax(1)
随笔分类
(173)
.net 技术文章(8)
.net 免费控件资源(2)
ADO.NET技术专区(2)
Ajax(7)
AJAX_Pro(3)
ASP 技术文摘(5)
ASP.NET 学习笔记(77)
Atlas学习手记(7)
C# Socket(2)
C# Windows 服务(3)
C# WinForm(5)
C#技术专区(12)
codeSmith 学习(1)
ComponentArt 控件使用笔记(3)
javascript(3)
javascript & DHTML, HTML,DOM,XHTML(5)
SQL Server(7)
VB.NET技术专区(1)
Web Services(2)
XML(2)
编程经典图书收藏(1)
个人爱好(3)
股票入门(6)
设计模式(2)
协议SMTP,POP3,IMAP,邮箱系统(4)
随笔档案
(120)
2008年8月 (1)
2008年3月 (5)
2008年2月 (6)
2008年1月 (5)
2007年12月 (10)
2007年11月 (1)
2007年10月 (1)
2007年9月 (5)
2007年8月 (9)
2007年7月 (4)
2007年4月 (3)
2007年3月 (3)
2007年2月 (3)
2006年12月 (2)
2006年11月 (16)
2006年10月 (39)
2006年9月 (7)
文章档案
(8)
2007年6月 (1)
2007年4月 (3)
2007年3月 (2)
2006年10月 (2)
收藏夹
.net 免费控件
C# 设计模式
C# 设计模式系列
Nhibernate 学习资料
CSDN 之 nhibernate
张老三的 NHibernate
张老三的CSDN nhibernate
WEB技术开发教程(在线图书)
(Ajax最新版本下载)ajaxpro(网站E文)
Ajax高级程序设计
asp.net 教程
asp.net 快速入门
ASP.NET之基础概念
Atlas基础教程——ASP.NET Ajax快速开发
Atlas快速入门之实战Atlas
C# 语法在线学习
C#入门经典(第3版) CSDN 试读
IT 专家网
MSDN Webcast
李建中 ASP.NET 内核揭密
网络编程在线文章-----来自蓝色理想
无忧搜网 5EO.COM
学习.net 2.0 VeryGood
程序高手链接
鸟食轩的 Javascript & DHTML
微软讲师 苏鹏
精彩图片链接
U9U8 壁纸二
U9U8 几张精美壁纸
我的爱好(网址收藏)
2007年国家公务员考试最新职位表
2007年国家公务员招考简章
Google Trends 趋势比较
公务员招考最新动态
摄影人家
中国人事部
我的好友
ajax & leo
dflying
jeffreyzhao
scorpion
Terrylee
thcjp
学习团队
ASP.NET Atlas学习团队
中国IT实验室
10 天学会ASP.NET
ASP.NET 入门 天极网YeSky.Com
天极网YeSky.Com
孟子E章
程序文章介绍
视频资源站
北大青鸟视频下载
天轰穿的BLOG
中国IT实验室
中国IT实验室
最新随笔
1. (转)Ext与.NET超完美整合 .NET开发者的超级优势
2. 如何防垃圾邮件用你的邮件服务器转发
3. 谈谈对C#委托的理解,附代码实例
4. 成功接收来自Internet的邮件必须要做到的条件
5. SMTP协议原始命令码和工作原理(2)
6. 邮件系统原理(1)
7. 学习JAVA的一点忠告
8. 关于Microsoft ASP.NET 2.0 AJAX Extensions UpdatePanel 中使用 javascript 产生错误的问题
9. JavaScript获取元素在浏览器画布中的绝对位置
10. 点击asp:button按钮后,不刷新当前页面
积分与排名
积分 - 76894
排名 - 978
最新评论
1. Re:使用PagedDataSource 分页(Repearter 不能直接分页,给Repeater 改造分页显示)
低效率,浪费内存 每次都取出所有数据(譬如1000条)放到内存, 使用时却只用了50条(假设一页显示50).其它950条却白占用了内存.
--digitime
2. Re:使用StringBuilder, StringBuilder和String的区别
很详细,学习了。谢谢。
--pomp
3. re: 谈谈对C#委托的理解,附代码实例
为了给你留言我专门注册,你讲得很不错,我顶!!!!!!谢谢你提供这么好的技术文档,我觉得你可以去写书了,回复我的留言请回复我的邮箱!
--樊甫
4. re: C#Windows 服务制作安装删除. 用户注销后,程序继续运行
继续关注...请lz介绍。
--melon611
5. re: 点击asp:button按钮后,不刷新当前页面
区别在于: 第一种写法: BtnSaveCallBack() 方法返回值为 false. 而BtnSave.onclick() 方法返回值为默认 true. 第二种写法: BtnSave.onclic...
----
阅读排行榜
1. 使用StringBuilder, StringBuilder和String的区别(13268)
2. 北大青鸟余海涛 asp.net 视频教程 32(3942)
3. C# File对象(2689)
4. DetailsView 的用法(与GridView 一起使用)(2090)
5. 使用 SQL Server 2000 查询分析器,创建表、插入数据、创建触发器(2046)
评论排行榜
1. 使用StringBuilder, StringBuilder和String的区别(9)
2. 使用PreviousPage来获取前一页页面的元素(3)
3. C#Windows 服务制作安装删除. 用户注销后,程序继续运行(3)
4. c# ArrayList 的 Sort()方法的使用(3)
5. 北大青鸟余海涛 asp.net 视频教程 32(3)