JsonService.js
资源名称:oa.rar [点击查看]
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:2k
源码类别:
OA系统
开发平台:
Java
- /*
- Copyright (c) 2004-2006, The Dojo Foundation
- All Rights Reserved.
- Licensed under the Academic Free License version 2.1 or above OR the
- modified BSD license. For more information on Dojo licensing, see:
- http://dojotoolkit.org/community/licensing.shtml
- */
- dojo.provide("dojo.rpc.JsonService");
- dojo.require("dojo.rpc.RpcService");
- dojo.require("dojo.io.*");
- dojo.require("dojo.json");
- dojo.require("dojo.lang.common");
- dojo.rpc.JsonService = function (args) {
- if (args) {
- if (dojo.lang.isString(args)) {
- this.connect(args);
- } else {
- if (args["smdUrl"]) {
- this.connect(args.smdUrl);
- }
- if (args["smdStr"]) {
- this.processSmd(dj_eval("(" + args.smdStr + ")"));
- }
- if (args["smdObj"]) {
- this.processSmd(args.smdObj);
- }
- if (args["serviceUrl"]) {
- this.serviceUrl = args.serviceUrl;
- }
- if (typeof args["strictArgChecks"] != "undefined") {
- this.strictArgChecks = args.strictArgChecks;
- }
- }
- }
- };
- dojo.inherits(dojo.rpc.JsonService, dojo.rpc.RpcService);
- dojo.extend(dojo.rpc.JsonService, {bustCache:false, contentType:"application/json-rpc", lastSubmissionId:0, callRemote:function (method, params) {
- var deferred = new dojo.Deferred();
- this.bind(method, params, deferred);
- return deferred;
- }, bind:function (method, parameters, deferredRequestHandler, url) {
- dojo.io.bind({url:url || this.serviceUrl, postContent:this.createRequest(method, parameters), method:"POST", contentType:this.contentType, mimetype:"text/json", load:this.resultCallback(deferredRequestHandler), error:this.errorCallback(deferredRequestHandler), preventCache:this.bustCache});
- }, createRequest:function (method, params) {
- var req = {"params":params, "method":method, "id":++this.lastSubmissionId};
- var data = dojo.json.serialize(req);
- dojo.debug("JsonService: JSON-RPC Request: " + data);
- return data;
- }, parseResults:function (obj) {
- if (!obj) {
- return;
- }
- if (obj["Result"] != null) {
- return obj["Result"];
- } else {
- if (obj["result"] != null) {
- return obj["result"];
- } else {
- if (obj["ResultSet"]) {
- return obj["ResultSet"];
- } else {
- return obj;
- }
- }
- }
- }});