Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:u(…)。getServerUrl不是HTML Web资源中的函数_Javascript_Html_Dynamics Crm - Fatal编程技术网

Javascript 未捕获类型错误:u(…)。getServerUrl不是HTML Web资源中的函数

Javascript 未捕获类型错误:u(…)。getServerUrl不是HTML Web资源中的函数,javascript,html,dynamics-crm,Javascript,Html,Dynamics Crm,我猜这段代码在表单上可以很好地工作。在HTML web资源中使用javascript时,我似乎总是遇到Xrm.Page.Context和getServerUrl等方法的问题 以下是我正在尝试运行的函数: 函数getAttributeOptions(entityLogicalName、AttributeLogicName、dictionaryObject、onComplete){ /// ///检索picklist属性选项并将其附加到dictionary对象。 ///然后执行分配给onCompl

我猜这段代码在表单上可以很好地工作。在HTML web资源中使用javascript时,我似乎总是遇到
Xrm.Page.Context
getServerUrl
等方法的问题

以下是我正在尝试运行的函数:

函数getAttributeOptions(entityLogicalName、AttributeLogicName、dictionaryObject、onComplete){ /// ///检索picklist属性选项并将其附加到dictionary对象。 ///然后执行分配给onComplete参数的函数。 /// /// ///实体的逻辑名称 /// /// ///Picklist属性的逻辑名称 /// /// ///将成为选项值字典的空对象。 /// /// ///将选项分配给dictionaryObject时要执行的函数; /// if(!(entityLogicalName的类型==“字符串”)){ 抛出新错误(“getAttributeOptions entityLogicalName参数是必需的,必须是字符串。”); } 如果(!(属性的类型逻辑名称=“字符串”)){ 抛出新错误(“getAttributeOptions AttributeLogicName参数是必需的,必须是字符串。”); } 如果(!(字典对象的类型==“对象”)){ 抛出新错误(“getAttributeOptions dictionaryObject参数是必需的,必须是对象。”); } if(!(onComplete的类型==“函数”)){ 抛出新错误(“getAttributeOptions onComplete参数是必需的,必须是函数。”); } var passThroughObject={}; passThroughObject.eln=entityLogicalName; passThroughObject.aln=属性逻辑名称; passThroughObject.dObj=字典对象; passThroughObject.oc=onComplete; if((typeof SDK==“未定义”)| |(typeof SDK.Metadata==“未定义”)| |(typeof SDK.Metadata.Query==“未定义”)){ 抛出新错误(“getAttributeOptions函数需要SDK.Metadata.Query.min.js库,但它不存在。”); } var mdq=SDK.Metadata.Query; var semp=mdq.SearchableEntityMetadataProperties; var samp=mdq.SearchableAttributeMetadataProperties; var srmp=mdq.SearchableRelationshipMetadataProperties var emp=mdq.EntityMetadataProperties; var amp=mdq.AttributeMetadataProperties; var rmp=mdq.RelationshipMetadataProperties; var ve=mdq.ValueEnums; //实体过滤器 var ef=新的mdq.MetadataFilterExpression(mdq.LogicalOperator.And); ef.addCondition(semp.LogicalName,mdq.MetadataConditionOperator.Equals,entityLogicalName); //实体属性 var ep=新的mdq.MetadataPropertiesExpression(false,[emp.Attributes]); //属性过滤器 var af=新的mdq.MetadataFilterExpression(mdq.LogicalOperator.And); af.addCondition(samp.LogicalName,mdq.MetadataConditionOperator.Equals,AttributeLogicName); //属性属性 var ap=新的mdq.MetadataPropertiesExpression(false,[amp.OptionSet,amp.AttributeType]); //属性 var aq=新的mdq.属性表达式(af,ap); //标签查询 var lq=新的mdq.LabelQueryExpression([1033]); //EntityQueryExpression var eqe=新的mdq.EntityQueryExpression(ef、ep、aq、null、lq); //RetrieveMetadataChangesRequest var rmcr=new mdq.RetrieveMetadataChangesRequest(eqe,null,mdq.DeletedMetadataFilters.Default); mdq.RetrieveMetadataChanges( rmcr, 功能(rmresponse、pto){ var attributeType=“未知”; if(rmResponse.EntityMetadata[0]==“未定义”| | rmResponse.EntityMetadata[0]==null的类型){ 抛出新错误(“未找到“+pto.eln”的实体元数据); } if(RmResponse.EntityMetadata[0]的类型。属性[0]==“未定义”| | RmResponse.EntityMetadata[0]。属性[0]==null){ 抛出新错误(“未找到“+pto.eln+”+pto.aln”的属性元数据); } if(RmResponse.EntityMetadata[0]的类型。属性[0]。OptionSet==“未定义”| | RmResponse.EntityMetadata[0]。属性[0]。OptionSet==null){ 抛出新错误(pto.eln+“+pto.aln+”没有OptionSet属性。”); } attributeType=rmResponse.EntityMetadata[0]。属性[0]。attributeType; if(attributeType!=“Boolean”){ if(RmResponse.EntityMetadata[0]的类型。属性[0]。OptionSet.Options==“未定义”| | RmResponse.EntityMetadata[0]。属性[0]。OptionSet.Options==null){ 抛出新错误(pto.eln+“+pto.aln+”OptionSet没有选项属性); } if(RmResponse.EntityMetadata[0]的类型。属性[0]。OptionSet.Options[0]=“未定义”| | RmResponse.EntityMetadata[0]。属性[0]。OptionSet.Options[0]==null){ 抛出新错误(pto.eln+“+pto.aln+”OptionSet.Options没有任何选项); } } pto.dObj[pto.eln]=pto.dObj[pto.eln]|{}; pto.dObj[pto.eln].attributes=pto.dObj[pto.eln].attributes | |{}; pto.dObj[pto.eln]。属性[pto.aln]=pto.dObj[pto.eln]。属性[pto.aln]|{}; pto.dObj[pto.eln]。属性[pto.aln]。选项=pto.dObj[pto.eln]。属性[pto.aln]。选项|{}; if(attributeType!=“Boolean”){ 对于(rmResponse.EntityMetadata[0]中的变量i)。属性[0]。OptionSet.Options){ var option=rmresponse.EntityMetadata[0]。属性[0]。OptionSet.Options[i]; pto.dObj[pto.eln]。属性[pto.aln]。选项[option.Value]=option.Label.UserLocalizedLabel.Label; } }否则{ pto.dObj[pto.eln]。属性[pto.aln]。选项[0]=rmResponse.EntityMetadata[0]。属性[0]。OptionSet.FalseOption.Label.UserLocalizedLabel.Label;
<script type="text/javascript" src="ClientGlobalContext.js.aspx"></script>