12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- define("dojo/rpc/JsonService", ["../main", "./RpcService"], function(dojo) {
-
-
-
-
- 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 };
- return dojo.toJson(req);
- },
- 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;
- }
- }
- );
- return dojo.rpc.JsonService;
- });
|