我正在尝试使用节点export-server库来导出高脑图;
npm install highcharts-export-server -g
库和教程:
https://github.com/highcharts/node-export-server#server-test
喜欢在GitHub的文档中,我使用highcharts-export-server --enableServer 1
启动了服务器,并且使用另一个CMD窗口,我尝试运行以下命令:
curl -H "Content-Type: application/json" -X POST -d '{"infile":{"title": "text": "Steep Chart"}, "xAxis": {"categories": ["Jan", "Feb", "Mar"]}, series": [{"data": [29.9, 71.5, 106.4]}]}}' 127.0.0.1:7801 -o mychart.png
运行此操作给出了意外令牌'
或'
的错误。此错误在执行命令的终端上弹出。将'
更改为"
,反之亦然在这方面确实有帮助。没有弹出错误,该命令似乎有效:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1273 100 1137 100 136 71062 8500 --:--:-- --:--:-- --:--:-- 71062
已经生成了称为mychart.png
的图像,但无法打开。
在服务器端,出现以下错误:
SyntaxError: Unexpected token ' in JSON at position 1
at JSON.parse (<anonymous>)
at parse (C:UsersMaarten CourtinAppDataRoamingnpmnode_moduleshighcharts-export-servernode_modulesbody-parserlibtypesjson.js:88:17)
at C:UsersMaarten CourtinAppDataRoamingnpmnode_moduleshighcharts-export-servernode_modulesbody-parserlibread.js:116:18
at invokeCallback (C:UsersMaarten CourtinAppDataRoamingnpmnode_moduleshighcharts-export-servernode_modulesraw-bodyindex.js:262:16)
at done (C:UsersMaarten CourtinAppDataRoamingnpmnode_moduleshighcharts-export-servernode_modulesraw-bodyindex.js:251:7)
at IncomingMessage.onEnd (C:UsersMaarten CourtinAppDataRoamingnpmnode_moduleshighcharts-export-servernode_modulesraw-bodyindex.js:307:7)
at emitNone (events.js:106:13)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1056:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
有人知道这个问题的解决方案是什么?
问题在窗口命令提示符处。Unix Shell和Windows命令提示符不相同处理。您使用的命令将在UNIX上使用,但在Windows上行不通。
要解决此问题,您必须使用带有逃生字符的双引号,例如
curl -H "Content-Type: application/json" -X POST -d "{"infile":{"title": {"text": "Steep Chart"}, "xAxis": {"categories": ["Jan", "Feb", "Mar"]}, "series": [{"data": [29.9, 71.5, 106.4]}]}}" 127.0.0.1:7801 -o mychart.png
我尚未测试过上述命令,这里和那里可能会缺少一些引号,但是我想您有这个想法。
无效的JSON :请注意,您发布的JSON无效。在这里检查。