基于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 相关文章推荐
js实现的网页颜色代码表全集
Jul 17 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
May 12 Javascript
javascript的函数劫持浅析
Sep 26 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 Javascript
详解在express站点中使用ejs模板引擎
Sep 21 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
Oct 26 Javascript
详解vue表单——小白速看
Apr 08 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
May 14 Javascript
简单聊聊TypeScript只读修饰符
Apr 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
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
PHP图片上传代码
2013/11/04 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
JAVASCRIPT 对象的创建与使用
2021/03/09 Javascript
捕获关闭窗口的脚本
2009/01/10 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
JS实现的竖向折叠菜单代码
2015/10/21 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
2020/08/17 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
[01:19:33]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第一场 2月2日
2021/03/11 DOTA
centos6.4下python3.6.1安装教程
2017/07/21 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
利用python如何处理nc数据详解
2018/05/23 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
2018/06/19 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
Python3最长回文子串算法示例
2019/03/04 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
Python socket处理client连接过程解析
2020/03/18 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
UNOde50美国官网:西班牙珠宝品牌
2020/08/15 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
成人教育自我鉴定
2013/11/01 职场文书
毕业生求职的求职信
2013/12/05 职场文书
单位办理社保介绍信
2014/01/10 职场文书
2015年基层党建工作汇报材料
2015/06/25 职场文书
Python基础之进程详解
2021/05/21 Python