gpt4 book ai didi

javascript - Nodejs rest api删除函数

转载 作者:行者123 更新时间:2023-11-29 21:24:45 25 4
gpt4 key购买 nike

我正在编写 nodejs 休息 API。我的删除功能有问题。这是我的 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 从数据库中删除记录。

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);
}

如果我已经回答了你的问题,请告诉我。

关于javascript - Nodejs rest api删除函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com