js调用webservice

来源:互联网 发布:网络电视盒子排名 编辑:程序博客网 时间:2024/05/18 01:34

方法一:js中直接调用

 

<%@ Page Language="C#" AutoEventWireup="true" 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;
    }

}

 

方法二:ajax调用


using System;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  
 
[webservice(namespace = "http://tempuri.org/")]  
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]  
public class Service : System.Web.Services.WebService  
{  
    public Service ()   
    {  
        //uncomment the following line if using designed components   
        //InitializeComponent();   
    }  
 
    [webmethod]  
    public string SayHelloTo(string Name)   
    {  
        return "Hello "+Name;  
    }  

 

function RequestByGet(data){
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  //Webservice location.
  var URL="http://localhost:1323/WebSite6/Service.asmx/SayHelloTo?Name=Zach";
  xmlhttp.Open("GET",URL, false);
  xmlhttp.SetRequestHeader ("Content-Type","text/xml; charset=utf-8");
  xmlhttp.SetRequestHeader ("SOAPAction","http://tempuri.org/SayHelloTo");
  xmlhttp.Send(data);
  var result = xmlhttp.status;
  //OK
  if(result==200) {
   document.write(xmlhttp.responseText);
  }
  xmlhttp = null;
 }

 

 

ajax调用webservice,仍然在xmlHttp.Open()方法中拼凑url来访问

 

原创粉丝点击