【问题标题】:ReferenceError in Dynamics 365 WebresourceDynamics 365 Webresource 中的 ReferenceError
【发布时间】:2020-01-26 05:45:59
【问题描述】:

我在Dynamics 365的CRM中使用web资源,最近出现这样的错误,不知道为什么会这样,问了一个问题。

错误日志内容:

ReferenceError: $ 未定义

我会附上出现错误日志的部分。

function setSerialnoinfo(){
var serialno = Xrm.Page.data.entity.attributes.get("skr_serialno");

if(Xrm.Page.getAttribute("skr_serialno").getValue() != null){

    var serialnoid = serialno.getValue()[0].id;
    var query = "/skr_installationSet(guid'"+serialnoid+"')";
        $.ajax({
        type: "GET",
        async : false,
        contentType: "application/json; charset=utf-8", 
        datatype: "json", 
        url: "/XRMServices/2011/OrganizationData.svc"+query,
        beforeSend: function (XMLHttpRequest) { 
            XMLHttpRequest.setRequestHeader("Accept", "application/json"); 
        }, 
        success: function(data, textStatus, XmlHttpRequest) {
            var result = data.d;

                var skr_productid = result.skr_product.Id;
                var skr_productname = result.skr_product.Name;
                var skr_productentity = result.skr_product.LogicalName;

                if (!(skr_productid == null || skr_productid == "")){
                    Xrm.Page.data.entity.attributes.get("skr_product").setValue([{id: skr_productid, name: skr_productname, entityType: skr_productentity}]);           
                }
                //var skr_salestype = result.skr_salestype.Value;
                var skr_warrantytype = result.skr_warrantytype.Value;

                if(skr_warrantytype == 1){
                    skr_warrantytype = 0;
                }

                Xrm.Page.data.entity.attributes.get("skr_servicefeetype").setValue(skr_warrantytype);

                var skr_servicecontracttype   = result.skr_servicecontracttype.Value;
                Xrm.Page.data.entity.attributes.get("skr_servicecontracttype").setValue(skr_servicecontracttype);

                var skr_modelid = result.skr_model.Id;
                var skr_modelname = result.skr_model.Name;
                var skr_modelentity = result.skr_model.LogicalName;

                if (!(skr_modelid == null || skr_modelid == "")){
                    Xrm.Page.data.entity.attributes.get("skr_setname").setValue([{id: skr_modelid, name: skr_modelname, entityType: skr_modelentity}]); 
                    setsetname();
                    setErrorModel();
                }

                Xrm.Page.getAttribute("skr_product").setSubmitMode("always"); 
                Xrm.Page.getAttribute("skr_servicefeetype").setSubmitMode("always"); 
                Xrm.Page.getAttribute("skr_setname").setSubmitMode("always"); 
                Xrm.Page.getAttribute("skr_servicecontracttype").setSubmitMode("always"); 
                Xrm.Page.getAttribute("skr_productseries").setSubmitMode("always"); 


        }, 
        error: function (XMLHttpRequest, textStatus, errorThrown) { 
                var userlcid = Xrm.Page.context.getUserLcid();
            if(userlcid == "1042"){
                alert("오류가 발생 했습니다. 다시 시도해 주세요."); 
            }else if(userlcid == "1033"){
                alert("Unknown Error: Try again."); 
            }           
        }
        });
}
}

这是在微软 10 更新之前用用户的新 UI 版本测试时出现的错误。

我也想知道更新后web资源的语法会不会有一点变化。

【问题讨论】:

    标签: dynamics-crm webresource


    【解决方案1】:

    你在你的网络资源中使用了 jQuery 库,不知何故链接被破坏或发生冲突。

    1. 验证您在your HTML 中添加/加载jquery.jsjquery.min.js。在引用此函数驻留库之前检查实体表单 - this is unsupported 是否存在同样的损坏行为
    2. 否则,如果您依赖本机库引用,不如像上面一样添加您自己的库引用并使用jQuery.noConflict()Read more
    3. 坚持使用XMLHttpRequest 以获得支持的范围,最重要的Xrm.Pagedeprecated,请开始使用ExecutionContext.getFormContext

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-06
      • 2021-01-06
      • 1970-01-01
      • 2020-06-22
      • 2019-02-25
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      相关资源
      最近更新 更多