Skip to main content

Dynamics 365 CRM retrieve data using JavaScript

What is OData in Dynamics CRM?

Open Data Protocol (OData) is a standard protocol for consuming data exposed by Dynamics. OData is a Representational State Transfer (REST) based protocol. It can be applied to all types of technologies, including JavaScript Object Notation (JSON).


To retrieve single record data using JavaScript


function CheckPrimaryContactId(executionContext) {
    formContext = executionContext.getFormContext();
    var primarycontactid = formContext.data.entity.attributes.get("primarycontactid");
    if (primarycontactid.getValue() != null) {
        entityId = primarycontactid.getValue()[0].id.slice(1, -1);
        entityName = primarycontactid.getValue()[0].entityType;
        entityLabel = primarycontactid.getValue()[0].name;
        var globalContext = Xrm.Utility.getGlobalContext();
        var crmURL=globalContext.getClientUrl()
        var req = new XMLHttpRequest();
        req.open("GET",crmURL+"/api/data/v9.1/contacts("+entityId+")?$select=emailaddress1",false);
        req.setRequestHeader("OData-MaxVersion""4.0");
        req.setRequestHeader("OData-Version""4.0");
        req.setRequestHeader("Accept""application/json");
        req.setRequestHeader("Content-Type""application/json; charset=utf-8");
        req.setRequestHeader("Prefer""odata.include-annotations=\"*\"");
        req.onreadystatechange = function () {
            if (this.readyState === 4) {
                req.onreadystatechange = null;
                if (this.status === 200) {
                    var resultsData = JSON.parse(this.response);
                    if (resultsData) {
                        emailaddress1 = resultsData["emailaddress1"];
                        console.log("Email Address is:" + emailaddress1);
                    }
                } else { Xrm.Utility.alertDialog(this.statusText); }
            }
        };
        req.send();
    }
}



Comments