基于JQuery的访问WebService的代码(可访问Java[Xfire])


Posted in Javascript onNovember 19, 2010

我仔细看看了看看几个人的例子,发现了问题。众所周知WebService是遵守SOAP协议的,为什么例子都是JSON格式的参数传递?net WebService兼容JSON格式,而Java的是标准WebService,不兼容JSON。看来net害了大家啊。于是我仔细了解了WSDL文件,做了个例子。下面只放关键代码。

$(function () { 
$("#btnWs").click(btnAjaxPost); 
}); function btnAjaxPost(event) { 
$.ajax({ 
type: "POST", 
contentType:"text/xml", 
url:"http://*****/WebServiceTest/services/HelloWorldService", 
data:getPostData(),//这里不该用JSON格式 
dataType:'xml',//这里设成XML或者不设。设成JSON格式会让返回值变成NULL 
success: function(xml) { 
//对结果做XML解析。 
//浏览器判断 (IE和非IE完全不同) 
if($.browser.msie){ 
$("#result").append(xml.getElementsByTagName("ns1:out")[0].childNodes[0].nodeValue+"<br/>"); 
} 
else{ 
$(xml).find("out").each(function(){ 
$("#result").append($(this).text()+"<br/>"); 
}) 
} 
}, 
error: function(x, e) { 
alert('error:'+x.responseText); 
}, 
complete: function(x) { 
//alert('complete:'+x.responseText); 
} 
}); 
} 
//定义满足SOAP协议的参数。 
function getPostData() 
{ 
//根据WSDL分析sayHelloWorld是方法名,parameters是传入参数名 
var postdata="<?xml version=\"1.0\" encoding=\"utf-8\"?>"; 
postdata+="<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"; 
postdata+="<soap:Body><sayHelloWorld xmlns=\"http://tempuri.org/\">"; 
postdata+="<parameters>"+$("#txtName").val()+"</parameters>"; 
postdata+="</sayHelloWorld></soap:Body>"; 
postdata+="</soap:Envelope>"; 
return postdata; 
}

完整例子SVN地址:http://theyounglearningmaterials.googlecode.com/svn/trunk/JavaWebServices/WebServiceTest/
我以后所有学习的例子都会放在 http://theyounglearningmaterials.googlecode.com/svn/trunk/里面,方便管理防止丢失。
Javascript 相关文章推荐
JavaScript方法和技巧大全
Dec 27 Javascript
JavaScript 比较时间大小的代码
Apr 24 Javascript
juqery 学习之三 选择器 简单 内容
Nov 25 Javascript
Jquery修改页面标题title其它JS失效的解决方法
Oct 31 Javascript
js图片模糊切换显示特效的方法
Feb 17 Javascript
javascript实现可全选、反选及删除表格的方法
May 15 Javascript
浅谈javascript中new操作符的原理
Jun 07 Javascript
jQuery UI结合Ajax创建可定制的Web界面
Jun 22 Javascript
javaScript语法总结
Nov 25 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
Jul 24 Javascript
解决vuecli3中img src 的引入问题
Aug 04 Javascript
vue中watch和computed的区别与使用方法
Aug 23 Javascript
基于jQuery的获得各种控件Value的方法
Nov 19 #Javascript
基于jquery实现的可以编辑选择的下拉框的代码
Nov 19 #Javascript
使用jQuery的将桌面应用程序引入浏览器
Nov 19 #Javascript
DIV菜单层实现代码
Nov 19 #Javascript
jQuery 定时局部刷新(setInterval)
Nov 19 #Javascript
基于jquery的跨域调用文件
Nov 19 #Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 #Javascript
You might like
Yii的Srbac插件用法详解
2016/07/14 PHP
PHP编写daemon process详解及实例代码
2016/09/30 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
探寻JavaScript中this指针指向
2016/04/23 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
nodejs+express实现文件上传下载管理网站
2017/03/15 NodeJs
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
实用的Vue开发技巧
2019/05/30 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
Python入门篇之字符串
2014/10/17 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
详解python中list的使用
2019/03/15 Python
python区块及区块链的开发详解
2019/07/03 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Python如何根据时间序列数据作图
2020/05/12 Python
Python 如何展开嵌套的序列
2020/08/01 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
苏格兰销售女装、男装和童装的连锁店:M&Co
2018/03/16 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
运动会入场解说词300字
2014/01/25 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
标准单位租车协议书
2014/09/23 职场文书
教师求职自荐信
2015/03/26 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
Python之matplotlib绘制折线图
2022/04/13 Python