12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- if(!dojo._hasResource["dojo.rpc.JsonService"]){
- dojo._hasResource["dojo.rpc.JsonService"] = true;
- dojo.provide("dojo.rpc.JsonService");
- dojo.require("dojo.rpc.RpcService");
- dojo.declare("dojo.rpc.JsonService", dojo.rpc.RpcService, {
- 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){
-
-
-
-
-
-
-
-
-
-
- var def = dojo.rawXhrPost({
- url: url||this.serviceUrl,
- postData: this.createRequest(method, parameters),
- contentType: this.contentType,
- timeout: this.timeout,
- handleAs: "json-comment-optional"
- });
- def.addCallbacks(this.resultCallback(deferredRequestHandler), this.errorCallback(deferredRequestHandler));
- },
- createRequest: function(method, params){
-
-
-
-
-
-
-
- var req = { "params": params, "method": method, "id": ++this.lastSubmissionId };
- var data = dojo.toJson(req);
- return data;
- },
- parseResults: function(/*anything*/obj){
-
-
-
-
-
- if(dojo.isObject(obj)){
- if("result" in obj){
- return obj.result;
- }
- if("Result" in obj){
- return obj.Result;
- }
- if("ResultSet" in obj){
- return obj.ResultSet;
- }
- }
- return obj;
- }
- }
- );
- }
|