• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

AJAX及使用E4X编写Web服务脚本(3)_jquery

jquery 搞代码 7年前 (2018-06-12) 232次浏览 已收录 0个评论

我们设置了两个 HTTP 头信息――SOAPAction 和 Content-Type――然后使用 xmlhttp.send(xml.toString()) 将 SOAP 信封消息发送出去。

如果该调用行为是异步的,那么在调用从该响应创建的 XML 回调函数之前,它需要等待,直到 readyState 为 4(全部完成)。

因此使用该操作的代码如下所示:

   var url = document.getElementById(“url”).value;

   var callback = function(resp) {

alert(resp..*::getQuoteReturn);

}

   execService(url, envelope, callback);

在我们的样例中,我们使用异步模型。典型的 Web 浏览器在与服务器通话时并不阻塞,并且我们也不希望它那样。举例来说,如果我们阻塞了浏览器,那么浏览器的窗口可能最终表现为“不响应”状态,从而促使用户结束它。

resp..*::getQuoteReturn

如果您是 E4X 新手,那么需要再次理解该语法。.. 意味着从树中搜索命名的元素。*:: 意味着任意的命名空间,因此该数值将是在响应 SOAP 封装的任意命名空间中被称为 getQuoteReturn 元素的数值。 

实际的样本代码 stockclient.html 同样也显示了该请求和响应 SOAP 封装。测试该样本――您应该看到如下内容:

AJAX及使用E4X编写Web服务脚本(3)_jquery

图 2. 显示请求和响应 SOAP 封装的 stockclient.html
该 stockclient.html 看上去类似一个传统的使用提交按钮的 Web 页面,尽管它事实上并不是(浏览器一直在查看该页面,从未更改)。我们创建了该文件,以便您能理解交互行为。但是,真正的 AJAX 版本的页面要美观很多。此 stockclientAjax.html 没有按钮。随着您键入操作的进行,它会自动地更新股票价格。测试该样本。

虽然该页面没有按钮,但是只要您停止键入操作,它就能自动地做出请求(在做出请求之前,它需要等待 0.6 秒钟,以便在您停止的时候它能够“感应”到)。

生成来自 Rhino 的 Web 服务请求

 Rhino 并不支持 XMLHTTPRequest 对象,但是这个问题您不必担心。因为 Rhino 运行在 java 环境中,您可以使用 Java 功能来生成 Web 服务请求 。为演示该操作,我们编写了一个 XMLHttpRequest 对象的简单 Java 实现。Rhino 允许 Java 程序员发布 Java 语言来扩展它们的 JavaScript 环境。为了使用 Rhino shell 中的 XMLHttpRequest 对象,您只需确保 e4xutils.jar 在自己的类路径中,然后您就可以使用 shell 命令,defineClass,将其添加到自己的环境中:

>set classpath=./js.jar;./xbean.jar;./e4xutils.jar;.

>java org.mozilla.JavaScript.tools.shell.Main

Rhino 1.6 release 1 2004 11 30H

js> defineClass(‘xmlhttp.XMLHttpRequest’);

下面有个很简单的脚本程序对其进行测试:

>test.js

defineClass(“xmlhttp.XMLHttpRequest”);

var xh = new XMLHttpRequest();

xh.open(“GET”,

http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl”,

false);

xh.send(null);

var wsdl = new XML(xh.responseText);

print(wsdl..*::address.@location);

>java org.mozilla.javascript.tools.shell.Main test.js

http://64.124.140.30:9090/soap

结果就是您现在可以使用您已经在 Mozilla 和 Rhino 中写入(E4X+XMLHttpRequest)的相同的脚本程序

结束语

到目前为止,您已经看到了如何使用 E4X 和 Javascript 来初始化 Web 服务请求

  • Ajax: 一个建立Web应用的新途径
  • Ajax的错误处理机制探讨(2)
  • Ajax的错误处理机制探讨(1)
  • 初次体验.NET Ajax无刷新技术
  • Rails系统中的AJAX开发技术简析(4)

欢迎大家阅读《AJAX及使用E4X编写Web服务脚本(3)_jquery》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:AJAX及使用E4X编写Web服务脚本(3)_jquery

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址