Heim >Web-Frontend >js-Tutorial >基于JQuery的访问WebService的代码(可访问Java[Xfire])_jquery

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

WBOY
WBOYOriginal
2016-05-16 18:16:041193Durchsuche

我仔细看看了看看几个人的例子,发现了问题。众所周知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+"
");
}
else{
$(xml).find("out").each(function(){
$("#result").append($(this).text()+"
");
})
}
},
error: function(x, e) {
alert('error:'+x.responseText);
},
complete: function(x) {
//alert('complete:'+x.responseText);
}
});
}
//定义满足SOAP协议的参数。
function getPostData()
{
//根据WSDL分析sayHelloWorld是方法名,parameters是传入参数名
var postdata="";
postdata+="";
postdata+="";
postdata+=""+$("#txtName").val()+"";
postdata+="
";
postdata+="
";
return postdata;
}

完整例子SVN地址:http://theyounglearningmaterials.googlecode.com/svn/trunk/JavaWebServices/WebServiceTest/
我以后所有学习的例子都会放在 http://theyounglearningmaterials.googlecode.com/svn/trunk/里面,方便管理防止丢失。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn