js调用webservice接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js调用webservice接口相关的知识,希望对你有一定的参考价值。

需求是这样的!用js模拟客户端去调用web服务接口!接口有请求参数和响应参数(都是string类型),如何发送请求参数(请求参数有多个,能否放在数组里一起发送如何实现?)给服务端,服务端响应的参数又如何在客户端(网页)显示哇?!最好有发送请求参数的实例代码~原理也说说吧各位亲!

js 主要用于做客户端处理,不与服务器打交道,你这个是与服务器端打交道了,属于特殊情况。你可以用 createobject 调用组件,从而实现与服务端通信。AJAX 、 JS 的ADO 数据库连接、JSON都是这样做的。追问

多参数用json咋用 举个例子吧

多参数用json咋用 举个例子吧

追答

这是JQUERY AJAX 中使用JSON的例子,第二个参数就是JSON的数据格式
$.getJSON("test.js", name: "John", time: "2pm" , function(json)
alert("JSON Data: " + json.users[3].name);
);

追问

json.users[3].name 这个是什么意思

追答

自定义的东西,这是其中一段。

参考技术A 网上的例子很多,随便搜一个就行,我刚才看了下,一片一片的追问

你说在发送请求的时候使用soap协议,具体怎么用啊?放在js代码里?那比如我现在有app_id 、user_id两个请求参数要发到服务端接口怎么实现哇? 网上的代码我不太理解呢

追答

下午给写个简单的例子,加上注释。我还就不相信非要用dwr了,别以为会个加密就牛B了

追问

高手求例子呜呜~

追答

把你的邮箱给我,我都写好注释了,你试着用一下,我只能按你说的模仿一个简单的,自己发布接口

追问

nothing80@yahoo.cn 3q哇~

追答

如果你的webservice方法的返回值是对象的话一定要将对象进行序列化

本回答被提问者采纳
参考技术B 请用ajax来做。单独用js是不可能的。推荐dwr3.0追问

不好意思啦~
求讲解哇~

参考技术C 路过··· 参考技术D <script type="text/javascript">
// 封装创建XMLHttpRequest对象
function createXMLHTTPObject()
var XMLHttpFactories = [
function () return new XMLHttpRequest() ,
function () return new ActiveXObject("Msxml2.XMLHTTP") ,
function () return new ActiveXObject("Msxml3.XMLHTTP") ,
function () return new ActiveXObject("Microsoft.XMLHTTP") ,
];
var xmlhttp = false;
for (var i = 0; i < XMLHttpFactories.length; i++)
try
xmlhttp = XMLHttpFactories[i]();

catch (e)
continue;

break;

return xmlhttp;

//封装异步请求函数
function request(url, callback, data)
var xmlHttp = createXMLHTTPObject();
if (!xmlHttp) return;
var method = (data) ? "POST" : "GET";
xmlHttp.open(method, url, true);
xmlHttp.setRequestHeader('User-Agent', 'XMLHTTP/1.0');
if (data)
xmlHttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlHttp.onreadystatechange = function ()
if (xmlHttp.readyState != 4) return;
if (xmlHttp.status != 200 && xmlHttp.status != 304)
alert('HTTP请求错误 ' + xmlHttp.status);
return;

callback(xmlHttp);

if (xmlHttp.readyState == 4) return;
xmlHttp.send(data);

</script>

<script type="text/javascript">
//定义请求地址
var mi = document.domain
var url = "http://ip-api.com/json/?lang=zh-CN";
//定义回调函数,参数为XMLHttpRequest对象
var callback = function (xmlHttp)
var info = xmlHttp.responseText;
var o = eval("(" + info + ")");

$("#michen").html("通过接口动态查询IP" + JSON.stringify(o));

//alert(info);
// alert(o[1].name);


//调用请求函数
request(url, callback);

</script>
<span id="michen"></span>

以上是关于js调用webservice接口的主要内容,如果未能解决你的问题,请参考以下文章

java如何调用webservice接口

基于Axis1.4的webservice接口开发(接口调用)

纯js调用webservice接口怎么调用

纯js调用webservice接口怎么调用

pb调用webservice 报错,该怎么解决

如何在调用WebService方法时,传递对象数组参数