您的位置:首页 > 其它

Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较

2014-10-15 09:41 302 查看
我们经常要在客户端进行数据查询,下面分别比较常用的几种查询方式:XMLHttpRequest,SDK.JQuery,SDK.Rest.

XMLHttpRequest是最基本的调用方式,JQuery和Rest的二种方式其实也是用的XMLHttpRequest,只不过是把它封装了一下

JQuery和Rest二种方式的接口一样,所以调用方式也一样



1.XMLHttpRequest

定义
1:functionODataRetrieve(oDataString){
2:varServerUrl=Xrm.Page.context.getClientUrl();
3:if(ServerUrl.match(/\/$/)){
4:ServerUrl=ServerUrl.substring(0,ServerUrl.length-1);
5:}
6:varretrieveReq=newXMLHttpRequest();
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:returnJSON.parse(retrieveReq.responseText).d;
12:}


调用方法:
1:varretrievedContact=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位于SDK\SampleCode\JS\RESTEndpoint\JQueryRESTDataOperations\JQueryRESTDataOperations\Scripts下

1:retrieveRecord:function(id,type,select,expand,successCallback,errorCallback)
2:retrieveMultipleRecords:function(type,options,successCallback,errorCallback,OnComplete)[/code]

调用方法:
1:SDK.JQuery.retrieveRecord(
2:AccountId,
3:"Account",
4:null,null,
5:function(account){
6:writeMessage("Retrievedtheaccountnamed\""+account.Name+"\".Thisaccountwascreatedon:\""+account.CreatedOn+"\".");
7:updateAccount(AccountId);
8:},
9:errorHandler
10:);
11:
1:SDK.JQuery.retrieveMultipleRecords(
2:"Contact",
[/code]
3:"$select=ContactId,FullName&$top=1",
4:function(results){
5:varfirstResult=results[0];
6:if(firstResult!=null){
7:primaryContact=results[0];
8:}
9:else{
10:writeMessage("NoContactrecordsareavailabletosetastheprimarycontactfortheaccount.");
11:}
12:},
13:errorHandler,
14:function(){
15://OnCompletehandler
16:}
17:);
18:


3.SDK.Rest

SDK.Rest.js位于SDK\SampleCode\JS\RESTEndpoint\JavaScriptRESTAssociateDisassociate\JavaScriptRESTAssociateDisassociate\Scripts下

1:retrieveRecord:function(id,type,select,expand,successCallback,errorCallback)
2:retrieveMultipleRecords:function(type,options,successCallback,errorCallback,OnComplete)[/code]

调用方法:
1:SDK.REST.retrieveRecord(
2:AccountId,
3:"Account",
4:null,null,
5:function(account){
6:writeMessage("Retrievedtheaccountnamed\""+account.Name+"\".Thisaccountwascreatedon:\""+account.CreatedOn+"\".");
7:updateAccount(AccountId);
8:},
9:errorHandler
10:);
11:
1:SDK.REST.retrieveMultipleRecords(
2:"Contact",
[/code]
3:"$select=ContactId,FullName&$top=1",
4:function(results){
5:varfirstResult=results[0];
6:if(firstResult!=null){
7:primaryContact=results[0];
8:}
9:else{
10:writeMessage("NoContactrecordsareavailabletosetastheprimarycontactfortheaccount.");
11:}
12:},
13:errorHandler,
14:function(){
15://OnCompletehandler
16:}
17:);
18:
DynamicCRM2013学习笔记系列汇总

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
章节导航