嗯,JS调用WebService一共有两种做法吧,呵呵,我就知道这两种,路过的朋友如果知道还有其它的方法,还请指点下,共同进步么,呵呵。嗯,直接贴源码吧。
法一:
<%@
Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"
runat="server">
<title>测试javascript调用WebService</title>
<script type="text/javascript" language=javascript>
function test()
{
//实际上HelloWorld函数中只有一个参数,这里的第2个"test2"是用来接收返回值的
//如果没有返回值则不需要
WebService.HelloWorld("Qinggeer",test2);
}
function test2(str)
{
alert(str);
}
</script>
</head>
<body>
<form
id="form1" runat="server">
<asp:ScriptManager
ID="ScriptManager1"
runat="server">
<Services>
<asp:ServiceReference Path="WebService.asmx"
/>
</Services>
</asp:ScriptManager>
<input id="Button1"
type="button" value="button" onclick="javascript:test();"
/>
</form>
</body>
</html>
WebService代码:
using
System;
using System.Web;
using System.Collections;
using
System.Web.Services;
using System.Web.Services.Protocols;
///
<summary>
/// WebService 的摘要说明
///
</summary>
[WebService(Namespace =
"http://tempuri.org/")]
[WebServiceBinding(ConformsTo =
WsiProfiles.BasicProfile1_1)]
[System.Web.Script.Services.ScriptService]
public
class WebService : System.Web.Services.WebService {
public WebService () {
//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
[WebMethod]
public string HelloWorld(string str)
{
return
str;
}
[WebMethod]
public string SayHello(string
Name)
{
return "Hello " + Name;
}
}
法二:
<%@ Page
Language="C#" CodeFile="Test.aspx.cs" Inherits="Test" %>
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Call
webservice with javascript and
xmlhttp.
</title>
</head>
<script
language="javascript" type="text/javascript">
function
RequestByGet(url,data)
{
var
xmlhttp;
try
{
xmlhttp= new
ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)