javascript 利用xmlhttp访问asp.net 2.0 的webservice
来源:互联网 发布:oracle小型机 跑数据库 编辑:程序博客网 时间:2024/05/16 07:48
看了网上的很多,基本都一样,webservice上输入参数,然后用soap传值,感觉不是太方便,每次写一大堆数据
还是用普通的xmlhttp方式,只需要提交简单的参数值对就可以了像:http://localhost/as.aspx?xxx=bb这样的格式
以下为post方法
注:以下代码中的scUI为事先写好的一个组件包,里面包括了一个异步xmlhttp组件
这个组件提供一个setFormParm(formId)方法输入参数
setParam(param)输入简单参数
sendRequestByPost(func,url)方法request 服务器webservice
createXmlHttp()为创建初始化xmlhttp对像
例子webservice页面sc_test.asmx ,比较老套还是sayhello
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
using System.Text;
/// <summary>
/// SC_WebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class SC_WebService : System.Web.Services.WebService {
public SC_WebService () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string SayHello()
{
HttpRequest Request = System.Web.HttpContext.Current.Request;
string name= Request.Params["name"];
return "hello "+name;
}
}
在WebService中要使用HttpContext必须要在web.config文件中加入以下代码
<webService>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webService>
客户端页面
<html>
<script type="text/javascript" src="../util/js/commonEngine.js"></script>
<!--以上是一个组件包-->
<script type="text/javascript">
//使用scUI中的xmlhttp
function test(){
var fui=new scUI();
fui.createXmlHttp();
fui.setParam("name="+document.getElementById("name").value);
//以pos方式
fui.sendRequestByPost(function(){
if(fui.xmlhttp.readyState==4&&fui.xmlhttp.status==200){
//webservice返回的是xml数据
var reqxml=fui.xmlhttp.responseXml;
//得到里面的值
var text=(reqxml.childNodes)[1].text);
alert(text);
fui=null;
}
},"sc_test.asmx/SayHello");
}
//以上alert(text)值就可以得到SayHello的数据了
//以下是scUI中xmlhttp的部分代码
function scUI(){this.xmlhttp=false;this.paramString="";}
//建立xmlhttp,比较老套,网上有很多,这里省略
//pos方式发送请求
scUI.prototype.sendRequestByPost=function(c,url){
this.xmlhttp.open("post",url,true);
this.xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
this.xmlhttp.onreadystatechange=c;
this.xmlhttp.send(this.paramString);
}
//设置参数
scUI.prototype.setParam=function(s){
this.xmlhttp.paramString=s; //如果后台出现乱码(比如java后台),则使用encodeURI(encodeURI(s))进行两次编码,然后后台再解码,asp.net一般来说不会出现太大问题,则不必使用
}
</script>
本人目前还在学习asp.net中,原来主要使用java,以上如有不对的地方还请指出
- javascript 利用xmlhttp访问asp.net 2.0 的webservice
- asp.net 利用javascript 调用webservice技巧
- 使用Flex访问ASP.net写的WebService .
- ASP.NET服务器端实现XmlHttp跨域访问
- 利用XMLHTTP实现ASP.NET无刷新提交
- 利用XMLHTTP实现ASP.NET无刷新提交
- 利用XMLHTTP实现ASP.NET无刷新提交
- 利用XMLHTTP实现ASP.NET无刷新提交
- [转]:Javascript+xmlhttp调用Webservice
- 用Delphi7访问.NET 2.0的WebService
- JavaScript 调用 ASP.NET WebService 的简单方法
- javascript访问asp.net控件
- asp下利用XMLHTTP获取请求页面返回的参数
- Javascript利用xmlhttp获得服务器时钟的方法
- javascript + asp xmlhttp 返回乱码
- 利用javascript在asp.net中实现颜色的选择
- asp.net的webservice实践
- asp.net xmlhttp post XML
- Head First JavaScript(中文版)(封面)
- 转一些国外的网址
- 2009_05_06 开篇
- 日记090506
- 近期Java学习计划
- javascript 利用xmlhttp访问asp.net 2.0 的webservice
- HttpClient 学习整理
- LINUX下查看和修改时间
- ATL 7.0 自由线程的 Windows NT 服务不会创建 COM 对象
- 创建进程库函数fork
- 5月编程语言排行榜:javascript 上升到第八位, actionscript依然是23
- 数据库操作
- 隔离的块编号
- Oracle用Start with...Connect By子句递归查询(还查出子句的子句)