【问题标题】:Prevent Javascript from replacing beginning of string with NaN?防止Javascript用NaN替换字符串的开头?
【发布时间】:2017-08-11 19:47:36
【问题描述】:

我正在处理一些对 Microsoft CRM 的 OData 查询调用,并且需要我的查询采用非常特定的格式。我将参数传递给一个函数,然后将 URL 添加到我的查询中。我传递的检索函数如下:

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

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

"NaNmylogicalattribute')/Microsoft.Dynamics.CRM.PicklistAttributeMetadata?$select=LogicalName&$expand=OptionSet"

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

【问题讨论】:

    标签: javascript regex odata dynamics-crm


    【解决方案1】:

    问题来了:

    id,
    + "/Attributes(LogicalName='" + logicalAttribute + "')"
    

    由于您不是以String 开头,因此领先的+ 将您的String 强制转换为Number(它不是Number,因此是NaN)。只需删除第一个前导 + 即可:

    id,
    "/Attributes(LogicalName='" + logicalAttribute + "')"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-13
      • 1970-01-01
      • 2011-02-07
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      相关资源
      最近更新 更多