【问题标题】:Syntax error in JavaScript (Rhino) if/else statement in HP OO 9HP OO 9 中的 JavaScript (Rhino) if/else 语句中的语法错误
【发布时间】:2016-07-12 12:03:10
【问题描述】:

我正在 HP OO 9 中构建一个简单的响应前脚本。myBody 指的是输入变量“body”。我想根据它是否为空来更改正文输入变量的内容。我在第 5 行和第 6 行收到投诉。第 5 行状态为 missing ; before statement,第 6 行状态为 syntax error。这里发生了什么?我在这里没有看到任何异常。

myBody = body;
if (!myBody || myBody.length === 0) {
    body = "There are currently no unassigned servers to report.";
} else {
    body = ${myReport};
}

【问题讨论】:

  • 什么是${myReport}?什么是“HP OO 9”?
  • ${myReport} 不是有效的 JavaScript 语法。如果这是您正在使用的框架的一部分,并且在被解析为 JS 之前已将其替换为实际值,那么请发布该值的示例。可能是 value 的格式不正确(因为在这种情况下它也必须是有效的 JS)。
  • 如果你想建立模板字符串,你需要反引号(见developers.google.com/web/updates/2015/01/…)但这里body = myReport;会更简单。
  • 看起来 JavaScript 试图直接解释 ${myReport},它不是正确的 JavaScript。如果某些东西应该对它进行预处理,那它就不会发生。
  • 我应该澄清一下,我是在 Operations Orchestration Studio 9 中直接编写脚本,它可以处理 ${myReport} 变量。 ${myReport} 只是流中其他地方定义的简单字符串。也可以说“这是一份报告”。

标签: javascript if-statement syntax operations-orchestration


【解决方案1】:
myBody = body;
if (!myBody || myBody.length === 0) {
    body = "There are currently no unassigned servers to report.";
} else {
    body = "${myReport}";
}

HP OO 9 中的流变量是字符串,因此该值必须包含在一组引号内。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2020-09-20
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多