AJAX和SOAP——异步数据和XML获取

基于SOAP的Web服务AJAX客户端 基于SOAP的Web服务AJAX客户端 sf2gis@163.com 2015年12月14日 2015年12月15日添加WSDL 2015-12-16 添加SOAP与JSON转换 1 目标:浏览器客户端使用AJAX请求Web服务,传递参数,接受返回结果。 2 原理:使用POST传递SOAP格式的XML数据。 3 流程:发布WebService,查询WSDL,创建HTML和AJAX请求 阅读详情
  AJAX:原文Asynchronous Javascript and XML applications,其实就是那些通过javascript来异步取得xml数据的应用!

我觉得这个缩写最狭隘了,因为我完全可以把JS换成VBS嘛,那不就可以缩写成AVAX了?!

从这点上说,远不如SOAP,它的原文应该是Simple Object Access Protocol,简单对象访问协议(汗哪,我也不敢确认呢。其实使用的对象和技术就是XMLHTTP)。它就标准和广义多了,指的是所有通过客户端SCRIPT来异步取得XML数据的应用,自然包括JS、VBS或其它脚本了。

给个小例子:

<script type="text/javascript">
<!--
function ajaxRead(file){
  var xmlObj = null;
  if(window.XMLHttpRequest){ //如果浏览器直接支持window.XMLHttpRequest对象
      xmlObj = new XMLHttpRequest();
      if (xmlObj.overrideMimeType) {xmlObj.overrideMimeType('text/xml');}//防止有些版本的Mozilla

 

瀏覽器在伺服器送回的資料未含XML mime-type檔頭(header)時出錯
  } else if(window.ActiveXObject){ //如果浏览器支持window.ActiveXObject对象
    try {
        xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
    }
  } else {
      return; //浏览器啥都不支持,我也只有啥都不干了:p
  }
  if (!xmlObj) {
 alert('Giving up :( Cannot create an XMLHTTP instance');
 return;
  }

  xmlObj.onreadystatechange = function(){ //当xmlobj在异步执行方式下状态发生变化时触发本事件
    if(xmlObj.readyState == 4){
 if (xmlObj.status == 200) { //HTTP状态码,未出错。可参考.statusText
        document.getElementById('xmlObj').firstChild.data =

xmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data; //document.getElementById

('xmlObj')的.firstChild.data也可换成.innerHTML
 } else {
     alert('There was a problem with the request.');
     return;
 }
    }
  }

  xmlObj.open ('GET', file, true); //打开连接:请求方式,文件名(基於安全考量,你不能叫用同網域以

外的網頁。但你应该可以在IE的internet选项里放开吧),异步/同步
  xmlObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); //如果.open以POST

方式打开
  xmlObj.send (''); //必须执行此指令,否则XMLHttpRequest对象的状态不会变为4!
}
//-->
</script>

注:
XMLHttpRequest对象的状态总共有五个状态,由0走到4。
0 – 尚未初始化(在这个XMLHttpRequest开始前)
1 – 加载(XMLHttpRequest初始化一结束)
2 – 加载结束(XMLHttpRequest一从服务器上获得一个回应)
3 – 交互(当XMLHttpRequest对象和服务器连接中)
4 – 结束(当XMLHttpRequest被告知它已经完成了所有人物并结束运行)

IE5以上支持~~
除了XMLHTTP对象外,还涉及CSS和DOM技术。

优势:
消除了每次同服务器交互都必须整个页面进行刷新。
更快地同服务器进行交互,部分页面永远比要求服务器返回整个页面的数量流量小很多。


其实,不一定非要XMLHTTP,难道说TXT文件就不能通过HTTP来异步访问了?如果有人提供了一个具有XMLHTTP功能的TXTHTTP对象,我们就可以实现了(只是以前一直没人有这个想法罢了)。其实,目前XMLHTTP就已经支持TXT,用XMLHTTP.repsponeText就能得到。只不过,XML比TXT的描述统一和标准得多,还是那句话,TXT可以完全自定义,XML就通用多了:)

另附:

XmlHttp是什么?

最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套APIXmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。
来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft? XML Document Object Model (DOM)处理回应。

现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。

AJAX 和 XML:现代 Web 开发的关键技术 AJAX 是一种 Web 开发技术,它允许网页通过 JavaScript 异步地与服务器通信。这意味着在不干扰现有页面内容和用户操作的情况下,可以更新网页的部分内容。AJAX 技术的核心是 XMLHttpRequest 对象,它使得发送和接收数据成为可能。XML 是一种用于存储和传输数据的标记语言。它通过定义一套规则来格式化数据,使其既易于人类阅读,也易于机器解析。 阅读详情

相关推荐

XmlHttpRequest对象直接访问与通过Soap协议访问WebSevice详解示例

XmlHttpRequest对象直接访问与通过Soap协议访问WebSevice详解示例

第三周(复习Ajax编程)

复习了Ajax编程

A822089447的博客 187

Ajax调用SOAP-Web示例

Ajax 调用 SOAP Web示例

ajax和soap,请问 jquery ajax 如何调用 有 soapheader 验证的 WebService ?

网上找的例子js:function CallWebMethodWithHeader() {var soapXML ="" +"" +"" +"111111111111" + "" + "" +"" +"" + "" +"";$.ajax({url: "WebService4JQuery.asmx/TestSoapHeader",type: "POST",dataType: "xml",conten...

weixin_39786155的博客 265

使用Ajax调用SOAP Web服务1:构建Web服务客户机

通过使用异步XML消息传递,Ajax为Web开发人员提供了一种扩展其Web应用程序价值和功能的途径。这里介绍的Web Services JavaScript Library扩展了该基础机制,其通过引入对调用基于SOAP的Web服务的支持来增强Ajax设计模式。本文是系列文章的第1部分,演示了如何使用针对Web应用程序的Ajax设计模式来实现跨平台的基于JavaScript的SOAP Web服务客户机。

第六章 汇川技术InoProShop入门之modbusTCP从站协议解读

摘要:ModbusTCP从站协议是Modbus协议在TCP/IP网络上的扩展,作为服务器端被动响应主站请求。它采用MBAP+PDU帧结构,通过IP地址和502端口实现网络通信,支持标准功能码(如读/写寄存器、线圈)。相比传统串行Modbus,具有高速传输、远距离通信优势。从站需解析请求、执行操作并返回响应,同时处理错误校验和并发连接。该协议广泛应用于智能传感器、PLC等工业设备,实现高效可靠的主从数据交互。

zyfucking2010的博客 1434

XMLHttp请求WebService

代理方式:是通过PB开发环境实现即可,对于明确的、地址栏有入参的WebService,这样请求方便一些,甚至可以把DW的结果在客户端和服务端传递,可以最大限度的利用PB的优势。XMLHttp:这种请求方式较灵活,可以兼容地址栏有入参的WebService的情形。但是入参和出参,需要自己根据业务需要和约定进行拼接和解析。SOAP+XML:这种实际上只是把WebService的文本给下载下来了,并没有调用其中的方法,不具实际意义。

zhch1949的博客 517

头歌操作系统2.3系统调用命令ls执行的系统调用

设置版本0内核为分析对象。然后一直c直到虚拟机出现。然后一直c就是答案了。

m0_74128952的博客 1万+

Ajax通过SOAP协议调用Web服务

前段时间做了一个用Ajax调用Web服务的Demo,在此记录一下。调用的是一个地理编码服务,该服务可以将地址转换为地理坐标,如下所示: 点击该服务可以看到该服务SOAP形式的请求与返回结果形式,如下图所示: 我们用Ajax通过SOAP协议调用Web服务,其实就是要构建SOAP形式的请求的xml,如上图所示,请求的xml格式一定要与上面给出的SOAP1.1 request保持一致

孙群 5595

Sentaurus TCAD 实战指南:几何、掺杂与物理模型对Ion/Ioff的协同调控

本文详细介绍了Sentaurus TCAD在器件仿真中的实战应用,重点解析了Ion(开态电流)与Ioff(关态电流)的协同优化方法。通过几何结构设计、掺杂工程和物理模型选择三大要素的精细调整,实现器件性能的显著提升。文章结合28nm和7nm工艺案例,展示了如何平衡Ion与Ioff的矛盾关系,为TCAD工程师提供实用指导。

weixin_29159711的博客 134

二、基于C语言的JPEG解码代码详解

// JPEG解码 // 输入JPEG后输出Bitmap #include <stdio.h> #include <stdlib.h> #pragma warning(disable : 4996) unsigned int BuffIndex; // JPEG数据的位置 unsigned int BuffSize; // JPEG数据的大小 unsigned int BuffX; // 图像的横向尺寸 unsigned int BuffY; //

m0_37633745的博客 4451

IT新技术名词:AJAX和SOAP——异步数据和XML获取

IT新技术名词:AJAX和SOAP——异步数据和XML获取AJAX:原文Asynchronous Javascript and XML applications,其实就是那些通过javascript来异步取得xml数据的应用!我觉得这个缩写最狭隘了,因为我完全可以把JS换成VBS嘛,那不就可以缩写成AVAX了?!从这点上说,远不如SOAP,它的原文应该是Simple Objec

寻找甘当科学家的女人/男人 2573

Unreal5从入门到精通之如何在VR中使用3DUI

前面我们讲过《Unreal5从入门到精通之UMG的使用》一般制作游戏时,UI都是添加到屏幕视窗上面的,但是在制作VR时,我们往往需要制作一个3D的UI,放置在场景中,然后使用手柄的射线来和UI进行交互。今天我们就来讲解下,如何在VR中创作和交互3DUI首次操作会感觉好复杂,多多练习,当你熟悉了UE蓝图的操作后会发现,这只是一个常规的蓝图操作而已。祝大家在虚幻的学习过程中非常顺利。希望这篇博客对你有所帮助。

TxNet 1982

利用ajax请求web service获得良好丰富的xml数据文档

在ASP.NET中创建一个WEBSERVICE后,请求该WEBSERVICE某个方式后浏览器将会获得一个标准的格式良好的XML数据文档,其中包含了方法所返回的数据以及很多相关的信息(包括名称空间,节点类型,属性类型等)。 在实际应用中,我们会生成一个代理类,然后通过使用代理类来使用WEBSERVICE的方法。 当需要用到AJAX来异步获取数据的时候,我们通常会想到获取一个格式良好...

abbkc20864的专栏 97

固定效应模型-以stata为工具

固定效应模型(Fixed Effects Model)是一种面板数据分析方法,通过引入个体固定效应来控制个体间的异质性,并更准确地估计解释变量对因变量的影响。它在许多经济、社会科学和健康研究中被广泛应用。

侯小啾技术博客 2836

查找【优快云】- 人工客服

【代码】查找【优快云】- 人工客服。

👨‍💻 前端开发者 | 技术分享者 1393

简单介绍下ajax

简介 首先Ajax是Asynchronous JavaScript and XML的全称,Asynchronous是异步的意思,这跟传统的web不同。Ajax是Web2.0技术的核心由多种技术集合而成,使用Ajax技术不必刷新整个页面,只需对页面的局部进行更新,可以节省网络带宽,提高页面的加载速度,从而缩短用户等待时间,改善用户体验。 什么是同步什么是异步? 1. 同步是发送方发送数据之后,必...

wswz0712的博客 282

PLC为西门子的S7-1200,舵机为 DS3218,PLC控制舵机旋转程序实现?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 997

Js 调用 WebService 实例

Html页面代码: <!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 runat="server"...

a82022424的博客 136

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ajax html xml数据格式,Ajax和WEB服务数据格式:XML SOAP HTML

当AJAX被创建的时候,他的原意是:Asynchronous JavaScript and XML,异步的javascript和XML,总的说来就是这样的:首先创建一个网络服务,比如可以传递HTTP GET/POST参数的PHP页面,然后返回一个XML格式的响应写一些客户端的js代码。比如传递参数和解析XML。这些调用是异步的,所以在等待数据的过程中浏览器不会被卡死。处理XML中的数据,然后更新D...

weixin_36047554的博客 159

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

使用 AJAX 调用 SOAP Web 服务

使用 AJAX 调用 SOAP Web 服务 第 1 部分: 构建 Web 服务客户机 本文介绍如何使用异步 JavaScript 和 XML (Asynchronous JavaScript and XML, AJAX) 设计模式来实现基于 Web 浏览器的 SOAP Web 服务客户机。本文是一篇短的系列文章的第 1 部分,演示了如何使用针对 Web 应用程序的 AJAX

lne818的专栏 2713

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ajax(Asynchronous JavaScript And XML)

我们先来看看国内外对ajax的解释: 百度百科: AJAX 指异步JavaScript及XML(Asynchronous JavaScript And XML)。        国内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的应用的转换。在基于数据的应用中

ESOO 5210
上一篇: 比较ADO与ODBC的区别
下一篇: 关于session的详细解释
justmuch
博客等级 码龄21年 51粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值