我正在使用angular调用一个节点获取api。 “未定义”由节点接收req.query.reqdata我是否应该解析服务器端的JSON?任何帮助将不胜感激。node api没有接收json数据
客户:
function playOrError(instrument, octave, scaletype, basenote) {
var reqdata = {
"instrument" : instrument,
"octave" : octave,
"scaletype" : scaletype,
"basenote": basenote
};
$http.get("/api/getfile", reqdata)
.then(
function(response) {
console.log("File request: " + response.data);
},
function(error) {
console.log("File request failed: " + error);
});
}
服务器:
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}));
...
app.get('/api/getfile', function(req, res, next) {
console.log(req.reqdata)
var instument = req.query.instrument
console.log(instrument)
})
可能尝试$ http.get(url,{reqdata:reqdata}) –
试过$ http.get(url,{reqdata:reqdata})服务器仍在记录{} – bkolluru
对不起,之前在手机上。如果您尝试传递一个请求的对象,那么使用'{reqdata:reqdata}'对象发出'POST'请求更合适,然后使用'req.body.reqdata '。关于GET请求,参见HTTP规范中的[this Previous SO answer](http://stackoverflow.com/questions/978061/http-get-with-request-body)。 –