zoukankan      html  css  js  c++  java
  • javascript调用webservice用法

    MyService.asmx

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Web;

    using System.Web.Services;

    using System.Xml;

    /// <summary>

    ///MyService 的摘要说明

    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。

    [System.Web.Script.Services.ScriptService]

    public class MyService : System.Web.Services.WebService {

        public MyService () {

            //如果使用设计的组件,请取消注释以下行

            //InitializeComponent();

        }

        [WebMethod]

        public string HelloWorld()

        {

            return "Hello World";

        }

        [WebMethod]

        public XmlNode xml() {

            XmlDocument doc = new XmlDocument();

            doc.LoadXml("<hi>Hello World</hi>");

            return doc.FirstChild;

        }

        [WebMethod]

        public string add(int a, int b)

        {

            return (a + b)+"";

        }

    }

    aspx页面

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head runat="server">

        <title></title>

        <script language="javascript" type="text/javascript">

    // <!CDATA[

            function Button1_onclick() {

                var data;

                data = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"

                    +"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

                    +  "<soap12:Body>"

                    +    "<HelloWorldResponse xmlns=\"http://tempuri.org/\">"

                    +      "<HelloWorldResult>string</HelloWorldResult>"

                    +    "</HelloWorldResponse>"

                    +  "</soap12:Body>"

                    +"</soap12:Envelope>";

                var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

                var URL = "MyService.asmx";

                xmlhttp.Open("POST", URL, false);

                xmlhttp.SetRequestHeader("Content-Type", "text/xml; charset=gb2312");

                xmlhttp.SetRequestHeader("SOAPAction", "http://tempuri.org/HelloWorld");

                xmlhttp.setRequestHeader("Content-Length", data.length);

                xmlhttp.Send(data);

                var xml = xmlhttp.responseText;

                var doc = new ActiveXObject("Microsoft.XMLDOM");

                doc.loadXML(xml);

                //alert(doc.selectSingleNode("//HelloWorldResult").text);

                //alert(doc.xml);

                alert(doc.selectSingleNode("//HelloWorldResponse").childNodes[0].nodeName);

            }

            function add() {

                var a = 10;

                var b = 15;

                var data;

                data = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"

                    + "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

                    + "<soap12:Body>"

                    + "<add xmlns=\"http://tempuri.org/\">"

                    + "<a>"+a+"</a>"

                    + "<b>"+b+"</b>"

                    + "</add>"

                    + "</soap12:Body>"

                    + "</soap12:Envelope>";

                var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

                var URL = "MyService.asmx";

                xmlhttp.Open("POST", URL, false);

                xmlhttp.SetRequestHeader("Content-Type", "text/xml; charset=gb2312");

                xmlhttp.SetRequestHeader("SOAPAction", "http://tempuri.org/add");

                xmlhttp.setRequestHeader("Content-Length", data.length);

                xmlhttp.Send(data);

                var xml = xmlhttp.responseText;alert(xml);

                var doc = new ActiveXObject("Microsoft.XMLDOM");

                doc.loadXML(xml);

            }

            function getxml() {

                var a = 10;

                var b = 15;

                var data;

                data = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"

                    + "<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">"

                    + "<soap12:Body>"

                    + "<add xmlns=\"http://tempuri.org/\">"

                    + "</soap12:Body>"

                    + "</soap12:Envelope>";

                var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

                var URL = "MyService.asmx";

                xmlhttp.Open("POST", URL, false);

                xmlhttp.SetRequestHeader("Content-Type", "text/xml; charset=gb2312");

                xmlhttp.SetRequestHeader("SOAPAction", "http://tempuri.org/xml");

                xmlhttp.setRequestHeader("Content-Length", data.length);

                xmlhttp.Send(data);

                var xml = xmlhttp.responseText; alert(xml);

                var doc = new ActiveXObject("Microsoft.XMLDOM");

                doc.loadXML(xml);

            }

    // ]]>

        </script>

    </head>

    <body>

        <form id="form1" runat="server">

        <div>

            <input id="Button1" type="button" value="button" onclick="getxml()" />

        </div>

        </form>

    </body>

    </html>

  • 相关阅读:
    form表单ajaxSubmit提交并验证
    jQuery幸运大转盘_jQuery+PHP抽奖程序
    thinkphp3.2 + soap
    chart.js图表 传值问题
    window和document的区别理解,bom和dom的区别理解
    JS弹出层制作,以及移动端禁止弹出层下内容滚动,overflow:hidden移动端失效问题
    富文本编辑器summernote的基本使用
    input文件类型上传,或者作为参数拼接的时候注意的问题!
    使用input选择本地图片,并且实现预览功能
    整体页面加载和某一模块加载监听
  • 原文地址:https://www.cnblogs.com/gzggyy/p/aa.html
Copyright © 2011-2022 走看看