Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较
2014-10-15 09:41
302 查看
我们经常要在客户端进行数据查询,下面分别比较常用的几种查询方式:XMLHttpRequest,SDK.JQuery,SDK.Rest.
XMLHttpRequest是最基本的调用方式,JQuery和Rest的二种方式其实也是用的XMLHttpRequest,只不过是把它封装了一下
JQuery和Rest二种方式的接口一样,所以调用方式也一样
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学习笔记系列汇总
相关文章推荐
- NHibernate3.2学习笔记-几种查询方式
- Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新
- IOS开发笔记(2)页面之间传递数据几种方式比较
- Dynamic CRM 2015学习笔记(3)oData 查询方法及GUID值比较
- Dynamic CRM 2013学习笔记(三十一)自定义用excel批量导入实体数据
- java核心知识点学习----多线程间的数据共享的几种实现方式比较
- SilverLight学习笔记--本地(客户端)数据存储
- Smart Client学习笔记(8) 智能客户端中的离线数据访问
- 大量数据插入的几种方式的速度比较
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- DNS 学习笔记-DNS客户端的查询之二
- 数据查询分页的几种实现方式
- as3比较存取数据的几种方式
- 在c#中使用HttpWebRequest时的几种提交数据方式学习和分析
- Hbase几种数据入库(load)方式比较
- STL学习笔记 ---- 由set的声明所引发的自定义比较的实现方式
- hibernate数据查询的几种方式
- 在c#中使用HttpWebRequest时的几种提交数据方式学习和分析
- Delphi中ADO处理数据的几种方式的速度比较
- 学习笔记-几种RAID方式的区别