NodejsrestAPI删除function
我正在编写nodejs rest API。 我有我的删除function的问题。 这是我的html代码:
<tr ng-repeat="row in displayedCollection"> <td>{{row.FirstNameAuthor}}</td> <td>{{row.LastNameAuthor}}</td> <td> <button type="button" ng-click="deleteWriter(row)" class="btn btn-sm btn-danger"> </button> </td> </tr>
这是我的core.js代码:
$scope.deleteWriter = function (row) { $http.delete('/writer', $scope.row) .error(function (data) { console.log('Error: ' + data); }); };
这是我的server.js代码:
app.delete('/writer', function (req, res) { var reqBody = ''; req.on("data", function (data) { reqBody += data; if (reqBody.length > 1e7) {//10MB httpMsgs.show404(req, res); } }); req.on("end", function () { wr.delete(req, res, reqBody); }); })
然后我使用函数wr.delete从数据库中删除logging。
exports.delete = function (req, resp, reqBody) { try { if (!reqBody) throw new Error("Input is nod valid"); var data = JSON.parse(reqBody); if (data) { if (!data.idRegisterIssueContract) throw new Error("No such number"); var sql = "DELETE FROM registerissuecontract "; sql += " WHERE idRegisterIssueContract =" + data.idRegisterIssueContract; db.executeSQL(sql, function (data, err) { if (err) { httpMsgs.show500(req, resp, err); } else { httpMsgs.send200(req, resp); } }); } else { throw new Error("Input is nod valid"); } } catch (ex) { httpMsgs.show500(req, resp, ex); } };
但它不工作,因为reqBody是空的。
我怎样才能解决它?
你可以在你的删除路由中传递一个id,如下所示:
客户端 :
$http.delete('/writer/' + id) .success(function(data) { console.log('Success: ' + data); }) .error(function(data) { console.log('Error: ' + data); });
服务器端 :
app.delete('/writer/:id', function (req, res) { var id = req.params.id; //DELETE YOUR RECORD WITH YOUR PARAM. return res.status(200); }
告诉我,如果我已经回答你的问题。