【问题标题】:Node-Red Http Request Node OutputNode-Red Http 请求节点输出
【发布时间】:2019-10-09 06:09:21
【问题描述】:

我有一个为 msg.payload 提供 IP 地址的功能节点。 而且这个IP地址永远不会相同。 从提供 IP 地址的功能节点,它转到 HTTP 请求节点。 然后,HTTP 请求节点必须对指定的 IP 地址执行某些操作。 在我的 HTTP 请求节点中,我使用了这个

http://+{{msg.payload}}+/control?cmd=GPIO,1,1

因为 msg.payload 总是不同的。 它不起作用。 我做错了什么吗? +{{msg.payload}}+ 因为我尝试了以下方法: {{msg.payload}}

{{{msg.payload}}}

+{{msg.payload}}+

而且它们似乎都不起作用。

请帮忙。

【问题讨论】:

    标签: node.js http node-red


    【解决方案1】:

    来自http-request 节点的信息侧边栏:

    在节点内配置时,URL 属性可以包含 小胡子风格的标签。这些允许使用构建 url 传入消息的值。例如,如果 url 设置为 example.com/{{{topic}}},它将具有 msg.topic 的值 自动插入。使用 {{{...}}} 可以防止小胡子 转义字符,如 / & 等

    要使用 mustache 语法在 url 中包含 msg.payload,您可以执行以下操作:

    http://{{payload}}/control?cmd=GPIO,1,1
    

    或者您可以将 URL 字段留空,并通过带有键 url 的 msg 对象传递整个 URL。

    例如在http-request 节点之前说一个function 节点设置以下内容:

    msg.url = "http://" + msg.payload + "/control?cmd=GPIO,1,1";
    return msg;
    

    【讨论】:

    • 谢谢,hardillb。那解决了它。我用 {{payload}} 而不是 {{msg.payload}} 现在它可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多