Dynamic CRM 2013学习笔记(十)客户端几种查询数据方式比较
我们经常要在客户端进行数据查询,下面分别比较常用的几种查询方式: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 位于SDK\SampleCode\JS\RESTEndpoint\JQueryRESTDataOperations\JQueryRESTDataOperations\Scripts下
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 handler16: }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)
- 调用方法:
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 handler16: }17: );18:
Dynamic CRM 2013学习笔记 系列汇总
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
分类:
CRM
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?