快捷搜索:

Dynamic CRM 2013学习记录(10)比较客户端比较常用

我们常常要在客户端进行数据查询,下面分手对照常用的几种查询要领:XMLHttpRequest, SDK.JQuery, SDK.Rest.

XMLHttpRequest是最基础的调用要领,JQuery和Rest的二种要领着实也是用的XMLHttpRequest,只不过是把它封装了一下

JQuery和Rest二种要领的接口一样,以是调用要领也一样

1. XMLHttpRequest

定义

1: function ODataRetrieve(oDataString) {

2:var ServerUrl = Xrm.Page.context.getClientUrl();

3:if (ServerUrl.match(//$/)) {

4:ServerUrl = ServerUrl.substring(0, ServerUrl.length - 1);

5:}

6:var retrieveReq = new XMLHttpRequest();

7:retrieveReq.open("GET", ServerUrl + "/XRMServices/2011/OrganizationData.svc/" + oDataString, false);

8:retrieveReq.setRequestHeader("Accept", "application/json");

9:retrieveReq.setRequestHeader("Content-Type", "application/json;charset=utf-8");

10:retrieveReq.send();

11:return JSON.parse(retrieveReq.responseText).d;

12: }

调用措施:

1: var retrievedContact = ODataRetrieve("ContactSet(guid'" + ContactAttribute.getValue()[0].id + "')?Select=JobTitle,MobilePhone");

2:if (retrievedContact != null) {

3:ContactJobAttribute.setValue(retrievedContact.JobTitle);

4:ContactPhoneAttribute.setValue(retrievedContact.MobilePhone);

5: }

2. SDK.JQuery

SDK.JQuery.js 位于SDKSampleCodeJSRESTEndpointJQueryRESTDataOperationsJQueryRESTDataOperationsScripts下

1: retrieveRecord: function (id, type, select, expand, successCallback, errorCallback)

2: retrieveMultipleRecords: function (type, options, successCallback, errorCallback, OnComplete)

调用措施:

1: SDK.JQuery.retrieveRecord(

2:AccountId,

3:"Account",

4:null, null,

5:function (account) {

6:writeMessage("Retrieved the account named "" + account.Name + "". This account was created on : "" + account.CreatedOn + "".");

7:updateAccount(AccountId);

8:},

9:errorHandler

10:);

11:

1: SDK.JQuery.retrieveMultipleRecords(

2:"Contact",

3:"$select=ContactId,FullName&$top=1",

4:function (results) {

5:var firstResult = results[0];

6:if (firstResult != null) {

7:primaryContact = results[0];

8:}

9:else {

10:writeMessage("No Contact records are available to set as the primary contact for the account.");

11:}

12:},

13:errorHandler,

14:function () {

15://OnComplete handler

16:}

17:);

18:

3. SDK.Rest

SDK.Rest.js 位于SDKSampleCodeJSRESTEndpointJavaScriptRESTAssociateDisassociateJavaScriptRESTAssociateDisassociateScripts下

1: retrieveRecord: function (id, type, select, expand, successCallback, errorCallback)

2: retrieveMultipleRecords: function (type, options, successCallback, errorCallback, OnComplete)

调用措施:

1:SDK.REST.retrieveRecord(

2:AccountId,

3:"Account",

4:null,null,

5:function (account) {

6:writeMessage("Retrieved the account named "" + account.Name + "". This account was created on : "" + account.CreatedOn + "".");

7:updateAccount(AccountId);

8:},

9:errorHandler

10:);

11:

1: SDK.REST.retrieveMultipleRecords(

2:"Contact",

3:"$select=ContactId,FullName&$top=1",

4:function (results) {

5:var firstResult = results[0];

6:if (firstResult != null) {

7:primaryContact = results[0];

8:}

9:else {

10:writeMessage("No Contact records are available to set as the primary contact for the account.");

11:}

12:},

13:errorHandler,

14:function () {

15://OnComplete handler

16:}

17:);

18:

您可能还会对下面的文章感兴趣: