Lightwaxx Lightwaxx - 1 year ago 62
Ajax Question

Retrieving Records in Dynamics CRM after Logging in using AJAX jQuery

I can successfully reach XRMServices on

ORGANIZATION_URL/XRMServices/2011/OrganizationData.svc/AccountSet?$select=AccountNumber
and retrieve customer account number on a browser after logging in. However, there is an authentication service blocking this if I use AJAX. My code is as below

$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "json",
url: ORGANIZATION_URL+ "/XRMServices/2011/OrganizationData.svc/AccountSet?$select=AccountNumber,Telephone1,Telephone2,new_CustomerDiscGroup,EMailAddress1,EMailAddress2,EMailAddress3",
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader("Accept", "application/json");
console.log(XMLHttpRequest);
},
complete: function (XmlHttpRequest) {
console.log(XMLHttpRequest);
},
success: function (data, textStatus, XmlHttpRequest) {
console.log(data);
},
error: function (XmlHttpRequest, textStatus, errorThrown) {
console.log(textStatus);
}
});


What am I missing???

Answer Source

After a huge pain, here is the answer to logging in to Dynamics CRM using jQuery

$.ajax({
    url : 'https://<Your Authentication URL for CRM>/adfs/ls',
    data : {
        UserName : '<username>',
        Password : '<password>',
        wa : 'wsignin1.0',
        wauth : 'urn:federation:authentication:windows',
        wtrealm : '<CRM Location>',
        wct : 'YYYY-MM-DDTHH:MM:SSZ'
    },
    headers : {
        Accept: 'image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap,application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*','Content-Type': 'application/x-www-form-urlencoded','Access-Control-Allow-Origin' : '*'
    },
    crossDomain: true,
    dataType: 'jsonp',
    beforeSend : function(xhr){
        console.log(xhr);
    },
    complete : function(xhr){
        console.log(xhr);
    },
    success : function(xhr){
        console.log(xhr);
    },
    error : function(xhr){
        console.log(xhr);
    }
});

Hope that helps someone

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download