Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 红色节点中函数的输出在html中显示为[object]。样板_Javascript_Html_Object_Converter_Node Red - Fatal编程技术网

Javascript 红色节点中函数的输出在html中显示为[object]。样板

Javascript 红色节点中函数的输出在html中显示为[object]。样板,javascript,html,object,converter,node-red,Javascript,Html,Object,Converter,Node Red,好的,这是我的第一天 我正在尝试制作一个小的节点红色应用程序。这可能看起来很傻,但实际上这是一个有趣的例子,说明我需要做的事情没有那么幽默。 HTTP输入会触发对城市词典API的HTTP请求,并为术语“蜜獾”获取随机定义 然后一个函数将字符串切碎,只提取实际定义并丢弃所有元垃圾 然后将该字符串传递给一个模板,该模板在{{payload}}行之前和之后包含一个HTML负载,以生成一个页面,该页面显示Urban Dictionary中的内容,每个页面负载上都显示一个随机定义 我得到了我想要的一切,调

好的,这是我的第一天

我正在尝试制作一个小的节点红色应用程序。这可能看起来很傻,但实际上这是一个有趣的例子,说明我需要做的事情没有那么幽默。 HTTP输入会触发对城市词典API的HTTP请求,并为术语“蜜獾”获取随机定义

然后一个函数将字符串切碎,只提取实际定义并丢弃所有元垃圾

然后将该字符串传递给一个模板,该模板在{{payload}}行之前和之后包含一个HTML负载,以生成一个页面,该页面显示Urban Dictionary中的内容,每个页面负载上都显示一个随机定义

我得到了我想要的一切,调试模板的输出就是在日志中显示UD内容,但是在浏览器中,我得到的只是[object object],我的文本段落应该在哪里

我理解这是因为函数输出的是对象,而不是字符串

我真的不完全理解什么是物体

我以前从未编写过任何JS,这就是我的出发点

[{"id":"65001585.8c9564","type":"http in","z":"4737d790.fefe58","name":"badger","url":"/Badger","method":"get","upload":false,"swaggerDoc":"","x":76,"y":72,"wires":[["980800c8.6789f","ab39736b.ffbfd"]]},{"id":"980800c8.6789f","type":"http request","z":"4737d790.fefe58","name":"URBAN DICTIONARY","method":"GET","ret":"txt","url":"https://urban.now.sh/random/Honey Badger","tls":"","x":269,"y":106,"wires":[["c0ff5132.822508"]]},{"id":"ab39736b.ffbfd","type":"http response","z":"4737d790.fefe58","name":"http response","x":1016.5551147460938,"y":75.22221374511719,"wires":[]},{"id":"e98c98a8.0a9a28","type":"template","z":"4737d790.fefe58","name":"Template","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<!DOCTYPE html>\n<HTML>\n\n\t<HEAD>\n\t\t<TITLE> [ H O N E Y B A D G E R ] </TITLE>\n\t\t<META HTTP-EQUIV=\"refresh\" CONTENT=\"300\">\n<style>\np.minortext\n{\n    font-family: \"Arimo\";\n    color:#A9A9A9\n}\np.majortext\n{\n    font-family: \"Impact\";\n    color:black\n    size:20\n}\n\n</style>\n</head>\n\n\t<BODY>\n\t        <CENTER>\n\t            <Table Width = \"100%\" Bgcolor=\"#A9A9A9\"><TR><TD ALIGN = \"CENTER\">\n\t              <a class=\"weatherwidget-io\" href=\"https://forecast7.com/en/n34d93138d60/adelaide/\" data-font=\"Roboto Slab\" data-mode=\"Current\" data-days=\"3\" data-shadow=\"#000000\" data-accent=\"#000000\" data-textColor=\"#ffffff\" data-highColor=\"#ffffff\" data-lowColor=\"#ffffff\" data-sunColor=\"#ffffff\" data-moonColor=\"#ffffff\" data-cloudColor=\"#ffffff\" data-cloudFill=\"#ffffff\" data-rainColor=\"#ffffff\" data-snowColor=\"#ffffff\" >Adelaide, South Australia, Australia</a>\n<script>\n!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=\"https://weatherwidget.io/js/widget.min.js\";fjs.parentNode.insertBefore(js,fjs);}}(document,\"script\",\"weatherwidget-io-js\");\n</script>\n</td><td align = \"center\">\n\n\n</td>\n\n\n\n</TD><TD ALIGN = \"RIGHT\"><IMG SRC=\"LogIn.PNG\">       </TD></TR></Table>\n\t        <Table Width = \"500\" Height = \"620\" Border = \"0\">\n\t            <TR Width = \"500\" Height = \"320\">\n\t                <TD Width = \"500\" Height = \"320\" VALIGN = \"CENTER\">\n\t\t<CENTER>\n\t\t\t    <FONT SIZE = \"20\">\n                    <p class=\"majortext\">\n                        <IMG SRC=\"HoneyBadger.PNG \" ALT=\"HoneyBadger\"><BR>\n\t\t\t\t        <B>H O N E Y B A D G E R</B>\n\t\t\t        </P>\n\t\t\t    </FONT>\n\t\t\t        </TD>\n\t\t\t     </TR>\n\t\t\t     \t            <TR Width = \"500\" Height = \"300\">\n\t                <TD Width = \"500\" Height = \"300\" VALIGN = \"TOP\">\n\t\t\t<CENTER>\n\t\t\n\t\t\t<p class=\"minortext\">\n\t\t\t    \t\t\t    <FONT SIZE = \"5\">\n\t\t\t    {{{payload}}}\n            </P>\n\t\t</CENTER>\n\t\t    </TD>\n\t\t    </TR>\n\t\t    </TABLE>\n\t\t</CENTER>\n\t</BODY>\n</HTML>\t\t\t    \n\n","output":"str","x":830.0000610351562,"y":108.55557250976562,"wires":[["ad7d02ac.52565","ab39736b.ffbfd"]]},{"id":"ad7d02ac.52565","type":"debug","z":"4737d790.fefe58","name":"","active":true,"console":"true","complete":"payload","x":1013.3883666992188,"y":153.77764892578125,"wires":[]},{"id":"c0ff5132.822508","type":"function","z":"4737d790.fefe58","name":"test","func":"var parts = msg.payload.split(\"definition\");\nvar message1 = { payload: parts[0] };\nvar message2 = { payload: parts[1] };\nvar msg2parts = message2.payload.split(\"URL\");\nvar msgsparts1 = {payload: msg2parts[0]};\nvar msgsparts2 = {payload: msg2parts[1]};\n\n\nreturn msgsparts1;\n","outputs":"1","noerr":0,"x":446.75921630859375,"y":106.75926971435547,"wires":[["e132da2c.78b1a8"]]},{"id":"e132da2c.78b1a8","type":"change","z":"4737d790.fefe58","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"\"\"","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"\\n","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"n\\","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":":","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"\"\"\"","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":".\",\"\"","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"\\","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"\"","fromt":"str","to":"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"example","fromt":"str","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":628.8887939453125,"y":107.99996948242188,"wires":[["e98c98a8.0a9a28"]]}]
[{id:“65001585.8c9564”,“type:“http in”,“z:“4737d790.fefefe58”,“name:“badger”,“url:”/badger”,“method:“get”,“upload:”false,“swaggerDoc:“x:”76,“y:”72,“wires:[“980800c8.6789f”,“ab39736b.ffbfd”]],{“id:“980800c8.6789f”,“type:”http请求”,“z:“4737d790.fe58”,“name:”城市词典”,“method:“get”,“ret”,“ret:”txt:“url:”"https://urban.now.sh/random/Honey 獾,tls:,“x”:269,“y”:106,“电线”:[“c0ff5132.822508”],{“id:“ab39736b.ffbfd”,“类型:”http响应”,“z:“4737d790.FEFEFE58”,“名称:”http响应”,“x”:1016.5551147460938,“y”:75.2221374511719,“电线”:[],{“id:“e98c98a8.0a9a28”,“类型:”模板”,“z:“4737d790.FE58”,“名称:”模板”,“字段”有效载荷“,”fieldType:“msg”,“format:“handlebar”,“syntax:”mustache”,“template:“\n\n\t\n\t\t[H O n E Y B A D G E R]\n\t\t\n\np.minortext\n{\n字体系列:\“Arimo\”;\n颜色:\ A9A9A9A9\n}\n}\np.majortext\n\n字体系列:\“Impact\”;\n颜色:黑色\n大小:20\n\n\n\n\t\n\t\n\n\t\n\n{var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=\”https://weatherwidget.io/js/widget.min.js\“fjs.parentNode.insertBefore(js,fjs);}(文档,\'script\',\'weatherwidget io js\”);\n\n\n\n\n\n\n\n\t\n\t\n\t\n\t\t\n\t\t\n

\n
\n\t\t\t\t\t\t\t\t\n=\“美国政府官员”对“美国职业技术学校”的一名名名名名为“>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\true,“控制台”:“true”,complete:“payload”,“x:”1013.3883666992188,“y:”153.77764892578125,“wires:”[]},{“id:”c0ff5132.822508”,“type:”function”,“z:”4737d790.fefefe58”,“name:”test”,“func:”var parts=msg.payload.split(\“definition\”);\nvar message1={payload:parts[0]};\nvar message2={payload:parts[1]};\nvar msg2parts=message2.payload.split(\“URL\”);\nvar msgsparts1={payload:msg2parts[0]};\nvar msgsparts2={payload:msg2parts[1]};\n\n返回msgsparts1;\n,“输出”:“1”,“noerr”:0,“x”:446.75921630859375,“y”:106.75926971435547,“电线”:[“e132da2c.78b1a8”]},{“id”:“e132da2c.78b1a8”,“类型”:“更改”,“z”:“4737d790.fefe58”,“名称”,“规则”,“更改”,“有效负载”:{“fromt”:“str”,“to”:“tot”:“str”},{“t”:“change”,“p”:“payload”,“pt”:“msg”,“from”:“\\n”,“fromt”:“str”,“to”:“tot”:“str”},{“t”:“payload”,“pt”:“msg”,“from”,“fromt”:“str”,“to”:“t”:“change”,“p”:“payload”,“pt”:“msg”,“from”:“from”,“fromt”:“str”,“to”:“tot”:“tot”:“str“,”fromt“:”str“,”to“,”tot“:”str“},{”t“:”change“,”p“:”payload“,”pt“,”msg“,”from“,”fromt“,”to“,”tot“,”有效载荷“,”pt“,”msg“,”fromt“,”str“,”to“,”to“,”tot“,”str“,”t“,”t“,”改变“,”p“,”payload“,”pt“,”pt“,”msg“,”从“:”到“:”str“,”tot“,”t“,”t“,”msg“,”t“,”t“,”从“,”到“,”t“,”msg“,”改变“,”从“::::”“示例”,“fromt”:“str”,“to”:“tot”:“str”}],“action”:“property”:“from”:“to”:“reg”:false,“x”:628.8887939453125,“y”:107.9996948242188,“wires”:[“e98c98a8.0a9a28”]]


首先,您需要删除
http in
http response
节点之间的直接链接,因为这将不会向发出请求的浏览器返回任何内容

下一个问题是,要使http in/http响应节点工作,您需要将
http in
节点生成的原始消息沿着流一直传递到
http响应
节点。您正在
Test
功能节点中生成一个新消息(
msgsparts1
)对象,这将不起作用

此外,urban dictionary的响应是一个JSON对象,因此,与其尝试使用String函数将其切碎。split()解析JSON并只访问其字段要容易得多。您可以使用
JSON节点来解析字符串,使用
更改节点来将描述移动到msg.payload

在将消息发送到
http响应之前,您还需要从
http请求中删除头。您可以使用相同的
更改节点来执行此操作

[{"id":"72cc29ed.aa819","type":"http in","z":"8aa94366.b8bde","name":"badger","url":"/Badger","method":"get","swaggerDoc":"","x":90,"y":160,"wires":[["2f9e6174.bde466"]]},{"id":"2f9e6174.bde466","type":"http request","z":"8aa94366.b8bde","name":"URBAN DICTIONARY","method":"GET","ret":"txt","url":"https://urban.now.sh/random/Honey Badger","tls":"","x":200,"y":260,"wires":[["5d7d10da.a757d"]]},{"id":"c6b86250.24357","type":"http response","z":"8aa94366.b8bde","name":"http response","x":960,"y":220,"wires":[]},{"id":"5d1bd9d2.9efad8","type":"template","z":"8aa94366.b8bde","name":"Template","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<!DOCTYPE html>\n<HTML>\n\n\t<HEAD>\n\t\t<TITLE> [ H O N E Y B A D G E R ] </TITLE>\n\t\t<META HTTP-EQUIV=\"refresh\" CONTENT=\"300\">\n<style>\np.minortext\n{\n    font-family: \"Arimo\";\n    color:#A9A9A9\n}\np.majortext\n{\n    font-family: \"Impact\";\n    color:black\n    size:20\n}\n\n</style>\n</head>\n\n\t<BODY>\n\t        <CENTER>\n\t            <Table Width = \"100%\" Bgcolor=\"#A9A9A9\"><TR><TD ALIGN = \"CENTER\">\n\t              <a class=\"weatherwidget-io\" href=\"https://forecast7.com/en/n34d93138d60/adelaide/\" data-font=\"Roboto Slab\" data-mode=\"Current\" data-days=\"3\" data-shadow=\"#000000\" data-accent=\"#000000\" data-textColor=\"#ffffff\" data-highColor=\"#ffffff\" data-lowColor=\"#ffffff\" data-sunColor=\"#ffffff\" data-moonColor=\"#ffffff\" data-cloudColor=\"#ffffff\" data-cloudFill=\"#ffffff\" data-rainColor=\"#ffffff\" data-snowColor=\"#ffffff\" >Adelaide, South Australia, Australia</a>\n<script>\n!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=\"https://weatherwidget.io/js/widget.min.js\";fjs.parentNode.insertBefore(js,fjs);}}(document,\"script\",\"weatherwidget-io-js\");\n</script>\n</td><td align = \"center\">\n\n\n</td>\n\n\n\n</TD><TD ALIGN = \"RIGHT\"><IMG SRC=\"LogIn.PNG\">       </TD></TR></Table>\n\t        <Table Width = \"500\" Height = \"620\" Border = \"0\">\n\t            <TR Width = \"500\" Height = \"320\">\n\t                <TD Width = \"500\" Height = \"320\" VALIGN = \"CENTER\">\n\t\t<CENTER>\n\t\t\t    <FONT SIZE = \"20\">\n                    <p class=\"majortext\">\n                        <IMG SRC=\"HoneyBadger.PNG \" ALT=\"HoneyBadger\"><BR>\n\t\t\t\t        <B>H O N E Y B A D G E R</B>\n\t\t\t        </P>\n\t\t\t    </FONT>\n\t\t\t        </TD>\n\t\t\t     </TR>\n\t\t\t     \t            <TR Width = \"500\" Height = \"300\">\n\t                <TD Width = \"500\" Height = \"300\" VALIGN = \"TOP\">\n\t\t\t<CENTER>\n\t\t\n\t\t\t<p class=\"minortext\">\n\t\t\t    \t\t\t    <FONT SIZE = \"5\">\n\t\t\t    {{{payload}}}\n            </P>\n\t\t</CENTER>\n\t\t    </TD>\n\t\t    </TR>\n\t\t    </TABLE>\n\t\t</CENTER>\n\t</BODY>\n</HTML>\t\t\t    \n\n","x":780,"y":260,"wires":[["bc66ae55.037f78","c6b86250.24357"]]},{"id":"bc66ae55.037f78","type":"debug","z":"8aa94366.b8bde","name":"","active":true,"console":"true","complete":"payload","x":940,"y":300,"wires":[]},{"id":"5d7d10da.a757d","type":"json","z":"8aa94366.b8bde","name":"","x":390,"y":260,"wires":[["8ecda72f.12eed8"]]},{"id":"8ecda72f.12eed8","type":"change","z":"8aa94366.b8bde","name":"","rules":[{"t":"move","p":"payload.definition","pt":"msg","to":"payload","tot":"msg"},{"t":"delete","p":"headers","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":260,"wires":[["e0951766.77e858","5d1bd9d2.9efad8"]]},{"id":"e0951766.77e858","type":"debug","z":"8aa94366.b8bde","name":"","active":true,"console":"false","complete":"false","x":810,"y":180,"wires":[]}]
[{“id”:“72cc29ed.aa819”,“type”:“http in”,“z”:“8aa94366.b8bde”,“name”:“badger”,“url”:“/badger”,“method”:“get”,“swaggerDoc”:“x”:90,“y”:160,“wires”:[[2f9e6174.bde466”],{“id”:“2f9e6174”