知识大全 在JavaScript中调用ASP.NET WebService的简单方法
Posted 知
篇首语:研卷知古今;藏书教子孙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在JavaScript中调用ASP.NET WebService的简单方法相关的知识,希望对你有一定的参考价值。
在JavaScript中调用ASP.NET WebService的简单方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
客户端 JavaScript 调用 ASP NET WebService 的方法除了采用 WebServer htc 和 构造 SOAPAction 的方法外 下面介绍一个采用 Ajax 调用的简单方法 并且可以传递参数 其实 ASP NET WebService 就是一个网站 所以 Request 对象是可用的 这样 传递参数就很容易了 下面是一个WebService asmx的代码
ASMX 代码
<%@ WebService Language= C# CodeBehind= WebService asmx cs Class= WebService %>
C# 代码
using System;
using System Collections Generic;
using System Linq;
using System Web;
using System Web Services;
using System Data;
/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = )]
[WebServiceBinding(ConformsTo = WsiProfiles BasicProfile _ )]
[System ComponentModel ToolboxItem(false)]
// To allow this Web Service to be called from script using ASP NET AJAX unment the following line
// [System Web Script Services ScriptService]
public class WebService : System Web Services WebService
[WebMethod]
// 字符串返回测试
public string GetServerTime()
return 当前服务器时间 + DateTime Now ToString();
[WebMethod]
// long 类型返回测试
public long GetServerTimeTicks()
return DateTime Now Ticks;
[WebMethod]
// Datatable返回测试
public DataTable GetTestDataTable()
DataTable dt = new DataTable( TestTable );
DataRow dr;
dt Columns Add(new DataColumn( id typeof(Int )));
dt Columns Add(new DataColumn( text typeof(string)));
for (int i = ; i < ; i++)
dr = dt NewRow();
dr[ ] = i;
dr[ ] = 列表项目 + i ToString();
dt Rows Add(dr);
return dt;
[WebMethod]
// List 类型测试
public List<User> GetTestUser()
//传递参数传测试
string param = this Context Request QueryString[ param ];
if (param == null) param= this Context Request Form[ param ];
List<User> u_list = new List<User>();
for (int i = ; i < ; i++)
User u = new User();
u Name = LoginName + i ToString() + param = + param;
u Title = 孟宪会 + i ToString();
u_list Add(u);
return u_list;
//定义一个对象 User
public class User
public String Name get; set;
public String Title get; set;
客户端调用的代码
HTML 代码
<!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >
< xmlns= >
<head runat= server >
<title>JavaScript 调用 ASP NET Web 服务测试</title>
<script type= text/javascript >
var xmlHttp = null;
function createXMLHttpRequest()
try
if (window XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
else if (window ActiveXObject)
xmlHttp = new ActiveXObject( Microsoft XMLHTTP );
catch (ex)
function AsynRequest()
createXMLHttpRequest();
if (xmlHttp == null)
alert( 不能创建 XmlHttpRequest 对象 );
return;
xmlHttp open( GET WebService asmx/GetTestUser?param=net_lover true);
xmlHttp setRequestHeader( Connection close );
xmlHttp onreadystatechange = function ()
if (xmlHttp readyState == )
if (xmlHttp status == )
var userList = xmlHttp responseXML getElementsByTagName( User );
for (i = ; i < userList length; i++)
document getElementById( get ) innerHTML += userList[i] getElementsByTagName( Name )[ ] firstChild nodeValue + ;
document getElementById( get ) innerHTML += userList[i] getElementsByTagName( Title )[ ] firstChild nodeValue + <br/> ;
;
xmlHttp send();
function AsynPostRequest()
createXMLHttpRequest();
if (xmlHttp == null)
alert( 不能创建 XmlHttpRequest 对象 );
return;
var data = param =abc ;
xmlHttp open( POST WebService asmx/GetTestUser?t= + Date parse(new Date()) true);
xmlHttp setRequestHeader( Content type application/x form urlencoded );
xmlHttp setRequestHeader( Content length data length);
xmlHttp setRequestHeader( Connection close );
xmlHttp onreadystatechange = function ()
if (xmlHttp readyState == )
if (xmlHttp status == )
var userList = xmlHttp responseXML getElementsByTagName( User );
for (i = ; i < userList length; i++)
document getElementById( post ) innerHTML += userList[i] getElementsByTagName( Name )[ ] firstChild nodeValue + ;
document getElementById( post ) innerHTML += userList[i] getElementsByTagName( Title )[ ] firstChild nodeValue + <br/> ;
;
xmlHttp send(data);
</script>
</head>
<body>
<input type= button value= GET 方法调用 onclick= AsynRequest() />
<input type= button value= POST方法调用 onclick= AsynPostRequest() />
<div id= get ></div>
<div id= post ></div>
</body>
</>
需要注意的是 使用此方法需要在nfig里加入以下的配置
nfig 代码
<system web>
<webServices>
<protocols>
<add name = HttpPost />
<add name = HttpGet />
</protocols>
</webServices>
cha138/Article/program/net/201311/12604相关参考
知识大全 javascript直接调用asp.net方法的技术——介绍pixysoft.ajax技术
前言本技术完全开源请各位兄弟随便修改使用但是必须能够保留相关版权的说明我的小小技术能在您的项目中使用是我的光荣希望不要破灭了我仅存的自豪感衷心感谢在此鞠躬! 本技术主要基提供页面的javascr
知识大全 asp.net中javascript的引用(直接引入和间接引入)
Aspnet中引入Javascript的方法有很多在做牛腩的时候主要讲了两种个人认为可以分为直接引入和间接引入一直接引入在前台页面调用自定义的javascript函数打开前台页面在head元素之间
在ASP.NET中调用存储过程方法新解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在使用NET的
在ASP.Net中应用Javascript 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 概要本
知识大全 如何在ASP.NET中使用JavaScript脚本
如何在ASP.NET中使用JavaScript脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 如何在ASP.Net Ajax中调用WebService
如何在ASP.NetAjax中调用WebService 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 在ASP.NET Atlas中调用Web Service
在ASP.NETAtlas中调用WebService 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 asp.net后台cs中的JSON格式变量在前台Js中调用方法
asp.net后台cs中的JSON格式变量在前台Js中调用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
ASP.NET中如何调用存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用ASPNET与
ASP.NET中整合JavaScript的技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 尽