我正在尝试使用node-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:\Users\Maarten Courtin\AppData\Roaming\npm\node_modules\highcharts-export-server\node_modules\body-parser\lib\types\json.js:88:17)
at C:\Users\Maarten Courtin\AppData\Roaming\npm\node_modules\highcharts-export-server\node_modules\body-parser\lib\read.js:116:18
at invokeCallback (C:\Users\Maarten Courtin\AppData\Roaming\npm\node_modules\highcharts-export-server\node_modules\raw-body\index.js:262:16)
at done (C:\Users\Maarten Courtin\AppData\Roaming\npm\node_modules\highcharts-export-server\node_modules\raw-body\index.js:251:7)
at IncomingMessage.onEnd (C:\Users\Maarten Courtin\AppData\Roaming\npm\node_modules\highcharts-export-server\node_modules\raw-body\index.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)
有人知道这个问题的解决方案是什么吗?
答案 0 :(得分:1)
问题出在Window Command Prompt上。 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无效。检查here。