DiP*_*Pix 6 javascript angularjs
我正在制作CRUD,如果我想将一些数据发送到我的后端(node.js),那么我收到一个错误:
angular.js:10765 POST http://localhost:1234/shop/removeProduct/574bf938b16158b40f9c87bc 400 (Bad Request)
脚本:
$scope.removeProduct = function (partnerId, productId) {
$http.post("/campaign/removeProduct/" + partnerId, productId);
}
Run Code Online (Sandbox Code Playgroud)
解决方案就是将这个参数(productId)简单地打包在这样的对象中:
$scope.removeProduct = function (partnerId, productId) {
$scope.productData = {productId: productId};
$http.post("/campaign/removeProduct/" + partnerId, $scope.productData);
}
Run Code Online (Sandbox Code Playgroud)
但为什么我必须这样做呢?顺便说一下,这是正确的还是应该以不同的方式进行?
@EDIT还有一件事,我添加/删除任何对象后应该如何刷新数据?它是否正确?
$scope.addPartner = function(data) {
$http({method: 'POST', url: addPartner, data})
.then(function(response) {
console.log(response);
});
$scope.loadPartnersData();
window.alert("Partner added!");
};
$scope.loadPartnersData = function () {
$http.get("/campaign/partner-list").then(function(result) {
$scope.partnerList = result.data.partnerList;
});
};
Run Code Online (Sandbox Code Playgroud)
后端:
router.get('/partner-list', function (req, res) {
Partner.find({}, function (err, partnerList) {
if (err) throw err;
res.json({ partnerList: partnerList });
});
});
Run Code Online (Sandbox Code Playgroud)
我假设您希望 url 类似于/shop/removeProduct/34523543?productData=5325345. 如果是这样,那么我将使用声明请求的角度方式$http:
var url = '/shop/removeProduct/' + partnerId; /* How ever you declare this */
$scope.removeProduct = function() {
$http({method: 'POST', url, params:{'productData': productId}})
.then(function(response) {
console.log(response);
});
};
$scope.removeProduct();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |