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;

ExpandedBlockStart.gifContractedBlock.gif
/**//// <summary>
///WebService 的摘要说明
/// </summary>

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

ExpandedSubBlockStart.gifContractedSubBlock.gif    
public WebService () {

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


    [WebMethod]
    
public string GetColumns(string strParameter) 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
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)
ExpandedBlockStart.gifContractedBlock.gif
{
    
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
ExpandedSubBlockStart.gifContractedSubBlock.gif    

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

    
    xmlhttp 
= null
}


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

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

ExpandedBlockStart.gifContractedBlock.gif<%@ 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411449.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ps -ef |grep -v 在shell sh 脚本中貌似无效?

ps -ef |grep -v 在shell sh 脚本中貌似无效&#xff1f; 想通过ps -ef |grep erdp_ |awk {print $2} 获取 erdp_ 开头的进程id&#xff0c; 执行在终端环境下执行是ok的&#xff0c;但是在 sh 脚本里面竟然多出了 两个 root 11400 4280 0 17:08 pts/5 00:00:00 /bin/bash ./ki…

media recovery oracle,Oracle非归档模式Media Recovery错误之--ORA-26040

Oracle非归档模式MediaRecovery错误之--ORA-26040系统环境&#xff1a;操作系统&#xff1a;LinuxRH55Oracle&#xff1a;Oracle11gR2模拟案例&#xff1a;1、查看数据库模式18:12:36SYSprodarchiveloglisOracle非归档模式Media Recovery错误之--ORA-26040系统环境&#xff1a;…

vmstat命令列出的属性详解

vmstat各项&#xff1a;procs:r-->在运行队列中等待的进程数b-->在等待io的进程数w-->可以进入运行队列但被替换的进程memoyswap-->现时可用的交换内存&#xff08;k表示&#xff09;free-->空闲的内存&#xff08;k表示&#xff09;pagesre&#xff0d;&#x…

Mysql 命令大全

MySQL导入导出命令 1.导出整个数据库   mysqldump -u 用户名 -p 数据库名 > 导出的文件名   mysqldump -u wcnc -p smgp_apps_wcnc >wcnc.sql 2.导出一个表   mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名   mysqldump -u wcnc -p smgp_apps_wcnc use…

[html] 写一个标签云的布局

[html] 写一个标签云的布局 <ul class"tag-cloud"><li>JavaScript</li><li>技术</li><li>CSS</li><li>哲学</li><li>React</li><li>架构</li><li>算法</li><li>其…

oracle11g和12c安装区别,Oracle下载与Oracle安装图解(Oracle19c,Oracle18c,Oracle12c,Oracle11g)...

oracle下载与oracle安装图解(oracle19c,oracle18c,oracle12c,oracle11g)1、oracle下载(oracle11g)oracle下载方法&#xff0c;请根据以下步骤与图示来下载oracle11g版本&#xff1a;oracle11g下载第1步&#xff1a;打开oracle官方网站oracle11g下载第2步&#xff1a;打开菜单-支…

sql 约束语句

--------添加主键约束(bookid作为主键)altertablebookmessageaddconstraintpk_bookid primarykey(bookid) --------添加唯一约束altertablebookmessageaddconstraintuq_bookid UNIQUE(bookid) ---------添加默认约束altertablebookmessageaddconstraintdf_address DEFAUIT(…

[html] 你认为Html的术难点在哪?

[html] 你认为Html的术难点在哪&#xff1f; 自然语言的复杂性导致HTML表示自然语言时会丢失很多信息&#xff0c;虽然HTML现在可以使用strong等标签表示着重语气&#xff0c;但依然很难表示其他的语气&#xff08;如惊讶&#xff09;&#xff0c;这虽然是文本这种载体的局限&…

nodejs+supertest+mocha 接口测试环境搭建

系统接口自动化测试 该框架用于对系统的接口自动化测试&#xff08;nodejssupertestmocha&#xff09;Homebrew 安装&#xff1a; ruby -e "$(curl -fsSL {}https://raw.githubusercontent.com/Homebrew/install/master/install)" 安装nodejs&#xff1a;brew instal…

不知道密码导出oracle数据库,Oracle数据库密码重置、导入导出库命令示例应用

重置办法如下&#xff1a;打开CMD命令提示符&#xff0c;然后输入下面命令进行重置&#xff1a;输入sqlplus /nolog,回车SQL> conn /as sysdba已连接&#xff1b;SQL>alter user system identified by "123456"; ---(123456就是重置的密码了)SQL>alter user…

[html] 如何让img自动适应div容器大小?

[html] 如何让img自动适应div容器大小&#xff1f; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

初探postman

第一种&#xff1a;安装postman 扩展程序 第二种&#xff1a;本地 安装postman 登陆进来postman的界面 发送第一个postman请求 将请求保存到集合 未完&#xff0c;待续... 转载于:https://www.cnblogs.com/smart-girl/p/10865386.html

oracle dw报告,讲解Oracle数据库的全文索引设置步骤

在执行一个SQL之前,首先要分析一下语句的执行计划,然后再按执行计划去执行。分析语句的执行计划的工作是由优化器(Optimizer)来完成的。不同的情况,一条SQL可能有多种执行计划,但在某一时点,一定只有一种执行计划是最优的,花费时间是最少的。相信你一定会用Pl/sql Developer、T…

C# 控制台 模拟时间一秒一秒走动,直到按Esc键,时间静止,退出!

Codeusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading; //延迟函数必备namespace ConsoleApplication2 { class Program { static void Main(string[] args) { DateTime dt n…

[html] 页面上如何显示特殊字符?

[html] 页面上如何显示特殊字符&#xff1f; 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

在HTML中插入JavaScript代码的方式

JavaScript代码可以出现在HTML的任何地方(<html>标记之前也可以)。使用<script language”javascript”>javascript代码</script>,但在声明框架的网页中&#xff0c;就一定要在<frameset>之前插入&#xff0c;否则不会运行。另一种方式是将javascript代…

oracle闪回特性,oracle闪回特性

一、闪回查询20:55:03 SQL> select * from emp1;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- ------------ ---------- ---------- ----------7369 SMITH CLERK 7902 …

Python——Django框架——django-simple-captcha(验证码)

一、引用 包 pip install django-simple-captcha 二、将captcha加入setting的 INSTALLED_APPS 三、运行python manager.py migrations 和 python manage.py migrate 四、加入路径 path(captcha/,include(captcha.urls)) 五、引入Form表单 from captcha.fields import CaptchaFi…

[html] 怎样计算首屏和白屏的时间?

[html] 怎样计算首屏和白屏的时间&#xff1f; function showPaintTimings() {if (window.performance) {let performance window.performance;let performanceEntries performance.getEntriesByType(paint);performanceEntries.forEach( (performanceEntry, i, entries) &g…

结构体+sort方法

昨天做了一道简单但很麻烦的题,我只能想到结构体,并用了STL的sort方法解决了它.不过从中有许多细节问题. 题目: Problem Description Lcy wanted to choose 50 ACMers from m players to join HDU-ACM team. He made n competitions , and now is your task to make the rankli…