0

我在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资源的语法是否有一点变化。

4

1 回答 1

2

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

  1. 验证您正在添加/加载jquery.jsjquery.min.js您的 HTML中。在引用此函数驻留库之前检查实体表单 -对于这种相同的破坏行为,这是不支持的
  2. 否则,如果您依赖本机库引用,请添加您自己的库引用,如上面 & use jQuery.noConflict()阅读更多
  3. 坚持使用XMLHttpRequest受支持的范围,最重要Xrm.Page的是已弃用,请开始使用ExecutionContext.getFormContext
于 2019-09-26T14:08:51.207 回答