2017-04-04 84 views
0

我能夠成功地將ORGANIZATION_URL/XRMServices/2011/OrganizationData.svc/AccountSet?$select=AccountNumber達到XRMServices並在登錄後在瀏覽器上檢索客戶帳號登錄後,但是,有一個認證服務阻止這一點,如果我使用AJAX。我的代碼如下檢索記錄中使用AJAX的jQuery

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

我錯過了什麼?

+0

是您的AJAX調用動態CRM例如內運行在一個實體的形式?你收到什麼錯誤信息? –

回答

-1

經歷了巨大的痛苦之後,下面是使用jQuery登錄到Dynamics CRM的答案

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

希望幫助別人

0

最有可能你在做跨站點腳本錯誤。所以您在使用例如http://localhosthttp://ip_number打開你的CRM,然後在你的Ajax調用您使用ORGANIZATION_URL這可能是不同的(例如http://contosocrm)。確保你打電話給你的ajax請求的地址與你用來訪問CRM的地址完全一樣(或者是調用ajax的頁面)