首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2011年IFD不使用OData和Javascript

2011年IFD不使用OData和Javascript
EN

Stack Overflow用户
提问于 2014-04-02 09:57:59
回答 1查看 1.1K关注 0票数 0

首先,我们的crm 2011是在前提下.然后换乘IFD(https://myservername.mycompany.com/ORGName/XRMServices/2011/Organization.svc)。当更改为IFD时,所有的OData和javascript都无法工作。

on-中,我们使用服务器url.

var lvSz_CRMServerURL =lvSz_CRMServerURL--它在OData和JS中工作得很好。

IFD中,我们使用服务器url。

var lvSz_CRMODataSvcURLEndpoint = Xrm.Page.context.prependOrgName("/XRMServices/2011/OrganizationData.svc");Odata和JS函数不能工作,也不能访问。

当使用prependOrgName和lvObj_XMLDocHnd2.open("GET“、lvSz_ODataQueryURL、true)时,lvObj_XMLDocHnd2.open是1(应该是4)

当使用lvObj_XMLDocHnd2.readyState和lvObj_XMLDocHnd2.open("GET“、lvSz_ODataQueryURL、false)时,prependOrgName是4,而lvObj_XMLDocHnd2.open是404(应该是200)。因此,OData和JS被停止,没有经过检查。

请给我任何建议。错误的地方可能是配置或JS函数。

请看一下我的OData和JS函数

.

代码语言:javascript
复制
function JS_GenerateQuotation() {
//debugger;
var opportunityId = Xrm.Page.data.entity.getId(); //Xrm.Page.getAttribute("new_opportunityid").getValue()[0].id;
var prepareQuotation;

//var lvSz_CRMServerURL = rootURL + "/GBGroupUAT"; 
//var lvSz_CRMODataSvcURLEndpoint = lvSz_CRMServerURL + "/XRMServices/2011/OrganizationData.svc";

var lvSz_CRMODataSvcURLEndpoint = Xrm.Page.context.prependOrgName("/XRMServices/2011/OrganizationData.svc");

var lvObj_XMLDocHnd2 = null;
lvObj_XMLDocHnd2 = new XMLHttpRequest();

var relatedEntity = "opportunity";
var lvSz_ODataQueryURL = lvSz_CRMODataSvcURLEndpoint + ((relatedEntity == "opportunity") ? "/OpportunitySet?$select=new_PrepareQuotation&$filter=OpportunityId eq guid'" + opportunityId + "'" : "");

lvObj_XMLDocHnd2.open("GET", lvSz_ODataQueryURL, false);
lvObj_XMLDocHnd2.setRequestHeader("Accept", "application/json");
lvObj_XMLDocHnd2.setRequestHeader("Content-Type", "application/json; charset=utf-8");
var lvArr_CRMRecordsMatchingSpecifiedGUID;

lvObj_XMLDocHnd2.onreadystatechange = function () {
    if (lvObj_XMLDocHnd2.readyState == 4) {
        if (lvObj_XMLDocHnd2.status == 200) {

            lvArr_CRMRecordsMatchingSpecifiedGUID = eval('(' + lvObj_XMLDocHnd2.responseText + ')');

            if (lvArr_CRMRecordsMatchingSpecifiedGUID == null || lvArr_CRMRecordsMatchingSpecifiedGUID == "" || lvArr_CRMRecordsMatchingSpecifiedGUID.d.results[0] == null) {

            }
            else {
                prepareQuotation = lvArr_CRMRecordsMatchingSpecifiedGUID.d.results[0].new_PrepareQuotation;
            }
        }
    }
}
lvObj_XMLDocHnd2.send();

if (prepareQuotation != false) {
    var GUIDvalue = Xrm.Page.data.entity.getId();

    var serverUrl = urlGenerateQuotation + GUIDvalue;

    var features = "location=no,menubar=no,status=no,toolbar=no,resizable=1";
    window.open(serverUrl, "_blank", features);
}
else {
    alert("Please prepare quotation.");
}

}

EN

回答 1

Stack Overflow用户

发布于 2014-04-02 13:25:08

IFD OData端点应该如下所示:https://orgname.domain/XRMServices/2011/OrganizationData.svc

您可以在Customizations 设置 -> -> Developer Resources下读取正确的URL

从UR12开始,您应该使用超级种子Xrm.Page.context.getClientUrl() Xrm.Page.context.getServerUrl()来获取组织的基url。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22807815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档