请注意,我仍然习惯使用JavaScript。基本上我需要编写一个HTML文件,使用Javascript来调用几个Web服务方法(来自与HTML文件相同的服务器),而不使用Ajax,或者可能是我们必须单独安装的其他任何东西。我们已经启动并运行了很好的Web服务,以及一些JS。这需要适用于IE,FF和Chrome,包括几年“落后于时代”的计算机。这是一个非常简单的方法吗?再一次,我仍然有点习惯于使用JavaScript,所以我很难跟上并使用我见过的一些例子。谢谢!
编辑:这是我一直在尝试的一个例子:
<html>
<head>
<title>Hello World</title>
<script language="JavaScript">
var iCallID;
function InitializeService(){
alert("spam");
try {
service.useService(<WSDL address>,
"HelloWorldService");
} catch (e) {
alert(e.message);
}
alert("spam");
service.HelloWorldService.callService("HelloWorld");
alert("spam");
}
function ShowResult(){
alert("spam");
alert(event.result.value);
alert("spam");
}
</script>
我得到“垃圾邮件”,然后“对象不支持此属性或方法”,然后什么都没有。
答案 0 :(得分:5)
好的,自从驴子岁月以来,AJAX已经出现了,真的。但是因为你不熟悉JS,所以你可以使用一些复制粘贴功能:
function ajax(url,method,data)
{
var xhr;//ajax object
data = data || {};//default ajax request
method = method || 'POST';
url = url || 'default/url/ajax';
try
{//normal browsers
ret = new XMLHttpRequest();
}
catch (error)
{//older IE browsers, including dead IE6
try
{
ret= new ActiveXObject('Msxml2.XMLHTTP');
}
catch(error)
{
try
{
ret= new ActiveXObject('Microsoft.XMLHTTP');
}
catch(error)
{
throw new Error('no Ajax support?');
}
}
}
if (typeof ret !== 'object')
{//if fails (almost impossible)
throw new Error('No Ajax, FFS');
}
ret.open(method, url, true);//open ajax connection
ret.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
ret.setRequestHeader('Content-type', 'application/x-www-form-urlencode');
ret.onreadystatechange = function()
{
if (this.readyState === 4 && this.status === 200)
{
var response = this.responseText;
//code you want to see executed when the call was successful
}
};
return ret.send(data);
}
用法:
ajax('your/ajax/url','POST','id=12');
这会将ajax请求发送回服务器,POST参数id
,值12
...随之而来。一些有用的东西:JSON,虽然我不是一个大粉丝 - jQuery,它有一个现成的内置$.ajax
方法,只需传递一个对象文字而你很高兴。
随意编辑此功能
答案 1 :(得分:1)
如果要使用Web服务,则必须在客户端计算机上运行的页面与托管服务的服务器之间建立连接。这样做的总称是AJAX。它不是您安装的单独技术,而是描述JavaScript DOM中可用的XMLHttpRequest对象的术语。有很多资源描述跨浏览器的使用......
https://developer.mozilla.org/en-US/docs/AJAX/Getting_Started
许多JavaScript库都有跨浏览器实现,您可以使用而无需担心细节。 jQuery,MooTools,Prototype ......等。