如何将数组作为数据从 angular 发送到 express 路由器?
How to send array as data to express router from angular?
我正在尝试从数据库中获取一些 ID 的更多详细信息,但我一直无法弄清楚该怎么做。
这是项目的数组:
var memberIds = ["2892056", "2894544", "2894545", "2894548", "2894550", "2894553", "2894555"];
var teamId = '123434';
var categoryId = 6;
// POST from angular
getMembersDetail(teamId, categoryId, memberIds) {
let params = teamId + '/' + categoryId;
return this.http.post(baseURL + 'member-details/' + params, memberIds);
}
我之前尝试过对数据进行 GET 请求,但没有成功。我不断从 express 收到 404 错误。所以,我尝试了 POST 请求,但这也给了我 404 错误。
然后在快递中:
router.post('member-details/:teamId/:categoryId', function(req, res){
const getMemberDetails = async() => {
try{
const categoryId = req.params.categoryId;
const teamId = req.params.teamId;
const memberIds = req.body;
const config = {
header: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
var url = baseUrl + 'member-details/' + teamId + '/' + categoryId + '/';
const response = await axios.post(url, memberIds, config);
res.send(respose.data);
} catch {
res.status(error.response.status).send(error.response.data);
};
}
getMemberDetails();
});
注意: Express 路由器使用 axios 进一步 post。这是 post 到 R
和 Plumber
API。请无视这部分。我只是在使用数据和参数表达路由器时遇到了问题。
如果 baseURL
已经包含 \
,那么您可能在 express 路由器中缺少 \
。在 member-details
之前您可能需要它,
router.post('/member-details/:teamId/:categoryId', function(req, res)
注意 post url 中的 /
。
我正在尝试从数据库中获取一些 ID 的更多详细信息,但我一直无法弄清楚该怎么做。
这是项目的数组:
var memberIds = ["2892056", "2894544", "2894545", "2894548", "2894550", "2894553", "2894555"];
var teamId = '123434';
var categoryId = 6;
// POST from angular
getMembersDetail(teamId, categoryId, memberIds) {
let params = teamId + '/' + categoryId;
return this.http.post(baseURL + 'member-details/' + params, memberIds);
}
我之前尝试过对数据进行 GET 请求,但没有成功。我不断从 express 收到 404 错误。所以,我尝试了 POST 请求,但这也给了我 404 错误。
然后在快递中:
router.post('member-details/:teamId/:categoryId', function(req, res){
const getMemberDetails = async() => {
try{
const categoryId = req.params.categoryId;
const teamId = req.params.teamId;
const memberIds = req.body;
const config = {
header: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
var url = baseUrl + 'member-details/' + teamId + '/' + categoryId + '/';
const response = await axios.post(url, memberIds, config);
res.send(respose.data);
} catch {
res.status(error.response.status).send(error.response.data);
};
}
getMemberDetails();
});
注意: Express 路由器使用 axios 进一步 post。这是 post 到 R
和 Plumber
API。请无视这部分。我只是在使用数据和参数表达路由器时遇到了问题。
如果 baseURL
已经包含 \
,那么您可能在 express 路由器中缺少 \
。在 member-details
之前您可能需要它,
router.post('/member-details/:teamId/:categoryId', function(req, res)
注意 post url 中的 /
。