zoukankan      html  css  js  c++  java
  • 纯JavaScript中调用WebServices

    经过几天研究,终于可以再单个js文件(纯JavaScript,不涉及AJax控件)调用WebServices了。现将调用方法及注意事项分享给大家

    1、WebServices文件源码WebService.asmx

    using System;
    using System.Collections;
    using System.Linq;
    using System.Web;
    using System.Web.Services;
    using System.Web.Services.Protocols;
    using System.Xml.Linq;

    /// <summary>
    ///WebService 的摘要说明
    /// </summary>

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo 
    = WsiProfiles.BasicProfile1_1)]
    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 
    // [System.Web.Script.Services.ScriptService]
    public class WebService : System.Web.Services.WebService {

        
    public WebService () {

            
    //如果使用设计的组件,请取消注释以下行 
            
    //InitializeComponent(); 
        }


        [WebMethod]
        
    public string GetColumns(string strParameter) 
        
    {
            
    return "{header: \"用户编号\",dataIndex: \"UserCode\",tooltip: \"用户编号\",sortable: true}, {header: \"用户名称\",dataIndex: \"UserName\",tooltip: \"用户名称\",sortable: true}, {header: \"用户类型\",dataIndex: \"UserType\",tooltip: \"用户类型\",sortable: true}, {header: \"性别\",dataIndex: \"Sex\",tooltip: \"性别\",sortable: true}, {header: \"职位名称\",dataIndex: \"PositionName\",tooltip: \"职位名称\",sortable: true}, {header: \"电话\",dataIndex: \"Telephone\",tooltip: \"电话\",sortable: true}, {header: \"邮箱\",dataIndex: \"Email\",tooltip: \"邮箱\",sortable: true}, {header: \"地址\",dataIndex: \"Address\",tooltip: \"地址\",sortable: true}, {header: \"部门名称\",dataIndex: \"DepartName\",tooltip: \"部门名称\",sortable: true}, {header: \"备注\",dataIndex: \"Remark\",tooltip: \"备注\",sortable: true}"; ;
        }

        
    }


    2、JavaScript文件源码 ClientLibrary.js

    var objColoms;
        
    CallWebServiceMethod();  
    //调用WebServices

    function CallWebServiceMethod(data)
    {
        
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
        
        
    var url="http://localhost:6808/JSWebServices/WebService.asmx/GetColumns?strParameter=zhangps"
        
        xmlhttp.Open(
    "Get",url, false); 
        
        xmlhttp.SetRequestHeader(
    "Content-Type","text/xml; charset=utf-8"); 
        
        xmlhttp.SetRequestHeader(
    "SOAPAction","http://tempuri.org/GetColumns"); 
        
        xmlhttp.Send(data); 
        
        
    var result = xmlhttp.status; 
        
        
    if(result==200
        

            
    var responseText = xmlhttp.responseXML.text;
            
            objColoms 
    = "[sm," + responseText + "]";
        }

        
        xmlhttp 
    = null
    }


    //var extColumModel = new Ext.grid.ColumnModel(eval(objColoms));

     3、Aspx页面或Html页面源码Default.aspx(近起到引用JavaScript文件作用)

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!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 runat="server">
        
    <title>JavaScript调用WebServices</title>
        
    <script language="javascript" src="ClientLibrary.js" type="text/javascript"></script>
    </head>
    <body>
        
    <form id="form1" runat="server">
        
    <div>
            纯JavaScript调用WebServices例子
            
            
    <!--注意:需要在WebConfig中加入以下配置:
            <system.web>
            <webServices>
              <protocols>
                <add name="HttpSoap" />
                <add name="HttpPost" />
                <add name="HttpGet" />
                <add name="Documentation" />
              </protocols>
            </webServices>
            </system.web>
            //
    -->
        
    </div>
        
    </form>
    </body>
    </html>

    4、注意事项:Web.Config中必须做一下配置

    <system.web>
       
    <webServices>
          
    <protocols>
           
    <add name="HttpSoap" />
           
    <add name="HttpPost" />
           
    <add name="HttpGet" />
           
    <add name="Documentation" />
          
    </protocols>
       
    </webServices>
    </system.web>

    源码下载

  • 相关阅读:
    全景转换工具
    Leetcode 215.数组中的第k个最大元素
    Leetcode 214.最短回文串
    Leetcode 213.大家劫舍II
    Leetcode 212.单词搜索II
    Leetcode 211.添加与搜索单词
    Leetcode 209.长度最小的子数组
    Leetcode 208.实现前缀树
    Leetcode 207.课程表
    Leetcode 206.反转链表
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1436012.html
Copyright © 2011-2022 走看看