我有以下代码:
var getRequest=function(options){
var body='';
var req = http.get(options,function(response){
response.on('data', function(chunk) {
body+=chunk;
}).on('end', function(chunk) {
console.log("body");
return JSON.parse(body);
}).on('error',function(error){
console.log("error: "+error.getMessage());
})
})
return req;
};
我要做的是传递http选项的JSON对象,例如:
var options={
host:'localhost',
port:'8080',
method:'GET',
path:'/stuff'
};
并发回一个已解析的响应。但是,由于嵌套功能以及我对它们如何工作的误解,我无法让它工作,我认为这是可行的。
有人可以告诉我如何让函数将JSON.parse(body)的结果返回给getRequest吗?
TypeError: Converting circular structure to JSON
感谢。
答案 0 :(得分:0)
简单的方法是使用正文解析器中间件:
使用npm安装body-parser(npm install body-parser --save)
像这样使用
import matplotlib.pyplot as plt
import numpy as np
fig, axs = plt.subplots(5,1)
plt.ion()
plt.show()
def plot(ax, array):
ax.plot(array)
plt.draw()
for i in range(5):
plot(axs[i], np.linspace(-10.*i, 10*i, num=101))
plt.pause(15)
如果您想自己处理身体包,请参阅以下工作代码示例。
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
//Now you got access to the body object in request.body
app.get('/stuff', function(request, response) {
response.send(request.body);
}