防止Javascript用NaN替换字符串的开头?

agu*_*ner 2 javascript regex dynamics-crm odata

我正在对Microsoft CRM进行一些OData查询调用,并且需要以非常特定的格式查询.我将参数传递给函数,然后将URL添加到我的查询中.我传递检索功能的内容如下:

 webAPI.REST.retrieveEntity(
        "EntityDefinition",
        id,
        + "/Attributes(LogicalName='" + logicalAttribute + "')"
        + "/Microsoft.Dynamics.CRM.PicklistAttributeMetadata"
        + "?$select=LogicalName&$expand=OptionSet"
        , null)
Run Code Online (Sandbox Code Playgroud)

在使用查询选项调试我的参数时:

"NaNmylogicalattribute')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet"
Run Code Online (Sandbox Code Playgroud)

如您所见,我的"/ Attributes(LogicalName ="已替换为"NaN".如何防止这种情况发生?

Rob*_* M. 7

这是问题所在:

id,
+ "/Attributes(LogicalName='" + logicalAttribute + "')"
Run Code Online (Sandbox Code Playgroud)

既然你是不是有一个开始String,领先+被强迫你String进入一个Number(这不是Number,因此NaN).只需删除第一个领先+,它将工作:

id,
"/Attributes(LogicalName='" + logicalAttribute + "')"
Run Code Online (Sandbox Code Playgroud)