经过几天研究,终于可以再单个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>

源码下载

转载于:https://www.cnblogs.com/caoguanghong/archive/2009/04/14/1436026.html

JavaScript调用WebServices相关推荐

  1. javascript调用父窗口(父页面)的方法

    window.parent与window.opener的区别 javascript调用主窗口方法 1:   window.parent 是iframe页面调用父页面对象 举例: a.html Html ...

  2. android 调用java类_Android中在WebView里实现Javascript调用Java类的方法

    搜索热词 为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制.只要调用addJavascriptInterface方法 ...

  3. JavaScript调用浏览器里的websocket,如何多帧上行数据

    JavaScript调用浏览器里的websocket,如何多个后续帧上行数据?这个组合帧的目的是什么?什么场景会用到?这个帧和http中的chunked编码有是不是一个意思?

  4. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  5. Javascript调用OCX控件

    什么是ocx控件? 对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序. 想知道究竟的可以看看这个帖子. http://www.tososo ...

  6. javascript调用activex控件

    代码 <HTML> <BODY> <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000&quo ...

  7. javascript调用在有母版的页面中注意的几点记录

    在javascript调用控件的时候,无论这个脚本在母版页,还是在子页面: 1.javascript调用客户端控件:都可以直接调用母版页或子页面的所有客户端控件(<input>)的属性. ...

  8. 通过反射动态调用webservices

    该方法可以使程序不通过web引用的方式去调用webservices方法,直接在代码里调用该方法就能达到动态调用webservices的目的.使用前先引用System.Web.Services动态链接库 ...

  9. Javascript 调用XML制作连动下拉框

    Javascript 调用XML制作连动下拉框 作者: 何耀 Thursday, June 5 2003 2:44 PM 传统的HTML页面中连动下拉框采用了两种方法: 1)直接将下拉框中的内容har ...

最新文章

  1. 《windows核心编程系列》十八谈谈windows钩子
  2. 混合云是企业IT的未来吗?
  3. 金蝶K3cloud问题单排查
  4. 30条值得程序员借鉴的好习惯
  5. 深度学习之 epoch batch iteration
  6. Mac下的命令行自动补全功能
  7. Spark大数据计算框架知识总结
  8. TP5路由知识简单个人汇总
  9. LiveGBS-摄像机网页低延时无插件直播实现
  10. 通俗说法+专业解释,载波聚合
  11. matlab 仿真光学实验报告,光学实验数值仿真的三种方法及MATLAB实现
  12. 顺丰--Java丰桥接口整体封装(下单、查询、打印)
  13. emoji表情在web html上显示
  14. 疫情当下无法继续学画画?来美术集线上画室在家好好学美术~
  15. 提高php性能的介意,ThinkPHP5提升性能的办法_浙江PHP博客
  16. Echarts动态饼状图,柱形图,关系图绘制
  17. RMAN-00571
  18. 怎么用C51语言实现50ms延时,单片机入门-C51语言实现简单的红绿LED交通灯控制
  19. 如何提升你的阅读能力?
  20. XRP的实际交易量明显增长

热门文章

  1. unity3d 预制体
  2. 搭建MSSM框架(Maven+Spring+Spring MVC+MyBatis)
  3. PHP 文件加密Zend Guard Loader 学习和使用(如何安装ioncube扩展对PHP代码加密)
  4. Android2.2 API 中文文档系列(3) —— AccessibilityService
  5. error: stray '\343' in program 问题解决
  6. 关于easyUI在子页面增加显示tabs的一个问题
  7. PANIC: Unreachable code reached.
  8. 成像数据更好的展示_为什么更多的数据并不总是更好
  9. 自助分析_为什么自助服务分析真的不是一回事
  10. 机器学习 啤酒数据集_啤酒数据集上的神经网络