使用AJAX jQuery登录后检索Dynamics CRM中的记录

我可以在ORGANIZATION_URL/XRMServices/2011/OrganizationData.svc/AccountSet?$select=AccountNumber成功访问ORGANIZATION_URL/XRMServices/2011/OrganizationData.svc/AccountSet?$select=AccountNumber上的ORGANIZATION_URL/XRMServices/2011/OrganizationData.svc/AccountSet?$select=AccountNumber并在浏览器上检索客户帐号。但是,如果我使用AJAX,则会有一个身份validation服务阻止此操作。 我的代码如下

 $.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); } }); 

我错过了什么?

您很可能正在进行跨站点脚本错误。 因此,您使用例如http:// localhost或http:// ip_number打开您的CRM,然后在您的ajax调用中使用的ORGANIZATION_URL可能不同(例如http:// contosocrm )。 确保使用与访问CRM(或调用ajax的页面)完全相同的地址调用ajax请求

经过巨大的痛苦,这里是使用jQuery登录Dynamics CRM的答案

 $.ajax({ url : 'https:///adfs/ls', data : { UserName : '', Password : '', wa : 'wsignin1.0', wauth : 'urn:federation:authentication:windows', wtrealm : '', 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); } }); 

希望能帮助别人