Dynamics 365 Web资源中的ReferenceError

时间:2019-09-26 01:41:19

标签: dynamics-crm webresource

我正在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."); 
            }           
        }
        });
}
}

这是在Microsoft的10更新之前使用用户的新UI版本进行测试的错误。

我还想知道更新后网络资源的语法是否有所改变。

1 个答案:

答案 0 :(得分:2)

您正在Web资源中使用jQuery库,因此链接断开或发生冲突。

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