CRM OData OrganizationData.svc 不适用于 IP

CRM OData OrganizationData.svc does not work by IP

我一直在处理 CRM 自动更新归档,我在

之前让它工作了
var lookUpObjectValue = Xrm.Page.getAttribute("new_kdid").getValue();    
if ((lookUpObjectValue != null))    
{ 
  var lookupid = lookUpObjectValue[0].id;    
  var serverUrl = Xrm.Page.context.getServerUrl();    
  var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";    
  var odataSetName = "new_kdSet?";    
  var odataSelect = serverUrl + ODATA_ENDPOINT + "/" + odataSetName  +     
  "$select=new_City" +    
  "&$filter=new_kdId eq (guid'" + lookupid + "')" +     
          "&$top=1";    
    $.ajax({    
        type: "GET",
        contentType: "application/json; charset=utf-8",
        datatype: "json",    
        url: odataSelect,    
        beforeSend: function (XMLHttpRequest) {XMLHttpRequest.setRequestHeader("Accept", "application/json"); },    
        success: function (data, textStatus, XmlHttpRequest){
 Xrm.Page.getAttribute("address1_city").setValue(data.d.results[0].new_City);      

    },
    error: function (XmlHttpRequest, textStatus, errorThrown) { alert('OData Select Failed: ' + odataSelect); }      
});      

}

在我通过 IP 连接到 CRM 之前它工作正常。 喜欢 http://193.92.1.4/CRMTest/main.aspx# 而不是 crm-server01/CRMTest/main.aspx

然后我收到错误 OData Select Failed:/*Some url that start with crm-server01/ ... */ 当我 运行 它得到正确的数据?

这归结为跨站点脚本。您会发现很多不同的 JavaScript 在 CRM 上执行请求时都会发生这种情况。

我建议仅使用您的服务器名称连接到 CRM。