基于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 相关文章推荐
jquery实现倒计时代码分享
Jun 13 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
百度地图api如何使用
Aug 03 Javascript
jQuery实现图片渐入渐出切换展示效果
Aug 15 Javascript
动态加载js文件简单示例
Apr 21 Javascript
flag和jq on 的绑定多个对象和方法(必看)
Feb 27 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
微信小程序导航栏跟随滑动效果的实现代码
May 14 Javascript
jquery实现动态改变css样式的方法分析
May 27 jQuery
Layui给switch添加响应事件的例子
Sep 03 Javascript
JSONP解决JS跨域问题的实现
May 25 Javascript
nuxt 路由、过渡特效、中间件的实现代码
Nov 06 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
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
javascript 兼容FF的onmouseenter和onmouseleave的代码
2008/07/19 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
NodeJS学习笔记之Connect中间件应用实例
2015/01/27 NodeJs
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
python 查找文件名包含指定字符串的方法
2018/06/05 Python
python实现黑客字幕雨效果
2018/06/21 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
numpy的Fancy Indexing和array比较详解
2020/06/11 Python
在keras中实现查看其训练loss值
2020/06/16 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
应届毕业生求职自荐书
2014/01/03 职场文书
大四学生思想汇报
2014/01/13 职场文书
军训 自我鉴定
2014/02/03 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
共青团员自我评价范文
2014/09/14 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
试了下Golang实现try catch的方法
2021/07/01 Golang