[iPad初试]系统介绍及数据交互
2011-05-20 23:26 dreamliu 阅读(525) 评论(0) 编辑 收藏 举报在园子里逛了N久了,正好手上项目告一段落,将项目中用到的技术作下记录以便备忘。
我是做C#的,第一次做ipad方面的东西,由于项目比较急没有时间去学习ipad的开发技术,由于系统的数据完全来源于现有java系统,以webservice发布,并且要求直接对客户端授权,于是js+html5便是最佳选择了,项目与java的webservice部署在统一台服务器上,也就省去了跨域问题。当然jquery是少不了的了,另外还使用到了其他两个js文件json2.js(json序列化反序列化)和json2xml.js(xml序列化),下面便是jquery访问webservice的通用代码了。
/// <reference path="../jquery-1.5.js" />
var RequestHelper = {
Request: function (data, sucessFn, errorFn, completeFn) {
var reqData = this.getSoapData(data);
$.ajax({
url: this.getServiceUrl(),
type: "POST",
dataType: "text",
contentType: "application/json; charset=utf-8",
data: reqData,
success: function (json) {
if (sucessFn) { sucessFn(json); };//成功返回处理
},
error: function (x, e) {
if (errorFn) { errorFn(x, e); }//此处可统一处理错误
}
},
complete: function (xml) {
var xml2 = $(xml.responseText);
var retValue = xml2.text();
if (completeFn) { completeFn(retValue); }; //返回soap信封中的数据
}
});
},
getSoapData: function (data) {
var sopaData = "";
sopaData = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">";
sopaData += "<SOAP-ENV:Body>";
sopaData += "<m:invoker xmlns:m=\"http://impl.controls.services.dreamliu.com/
sopaData \">";//此处命名空间已修改+= "<request>" + data + "</request>";
sopaData += "</m:invoker>";
sopaData += "</SOAP-ENV:Body>";
sopaData += "</SOAP-ENV:Envelope>";
return sopaData;
},
getServiceUrl: function () {
var local = window.location.href;
local = local.substring(0,local.indexOf(":8080"));
return(local + ":8080/your service method");
}
}