使用节点导出服务器生成 png 图表时出现意外令牌 '



我正在尝试使用节点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无效。在这里检查。

最新更新