咨询电话:024-31891684

网站建设|注册|登录 | 易势大连分公司

沈阳做网站、沈阳建站易势最专业!

 

build网站制作当前位置:首页>主要服务>网站制作

AJAX及使用E4X编写Web服务脚本

下面我们来详细地看看这些代码。首先,这些代码支持两种调用方式。您可以使用其中一种: 

XML execService(String url, XML envelope);或者void execService(String url, XML envelope, function callback); 

在这种情况下,回调函数应该是 void callback(XML x)。 

于是您可以使用该函数直接调用 XML 服务,并且等待响应,或者您也可以传送一个函数,使用 XML 响应消息调用该函数。 

该函数基于参数的数量来决定它是异步还是同步(3 是异步),然后简单地使用 XMLHttpRequest 对象以 POST 请求方式来把 XML 消息放到 HTTP 请求信息,并把请求发送到指定的 URL。 

我们设置了两个 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 封装。测试该样本——您应该看到如下内容: 

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

gigi_miao
<?xml:namespace prefix = font style="background-color />

 

上一条资讯|返回栏目页|下一条资讯

易势沈阳建站专业机构,以DIV+CSS为主,js/jQuery为辅,制作利于优化,页面美观的优质网站!

top

网络策划公司|新浪官方微博|大连网站建设