专注WEB开发技术 @ 修身、齐家、治国、平天下!
ASP.NET,C#,VB.NET
posts - 120, comments - 55, trackbacks - 0, articles - 8
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
Ajax 调用 WebService 简单例子
Posted on 2007-12-04 09:47
孤峰皓月
阅读(794)
评论(0)
编辑
收藏
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
绿色通道:
好文要顶
关注我
收藏该文
与我联系
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
美国空军拟最多购买1.8万台iPad 2
·
伊朗封杀Gmail和Facebook等互联网服务
·
分析称专利之争让谷歌苹果两败俱伤
·
Android平台发现新型手机病毒Rootsmart
·
HTC首款Android4.0手机大曝光
»
更多新闻...
最新知识库文章
:
·
高级编程语言的发展历程
·
如何学习一门新的编程语言?
·
学习不同编程语言的重要性
·
为什么我喜欢富于表达性的编程语言
·
计算机专业的女生为什么要学编程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
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
公告
昵称:
孤峰皓月
园龄:
5年5个月
粉丝:
4
关注:
0
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
更多链接
最新随笔
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按钮后,不刷新当前页面
我的标签
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)
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
微软讲师 苏鹏
精彩图片链接
我的爱好(网址收藏)
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章
程序文章介绍
视频资源站
北大青鸟视频下载
中国IT实验室
中国IT实验室
积分与排名
积分 - 91924
排名 - 1118
最新评论
阅读排行榜
评论排行榜
推荐排行榜