Ich schreibe Nodejs Rest API. Ich habe Probleme mit meiner Löschfunktion. Das ist mein HTML-Code:Nodejs Rest API löschen Funktion
<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>
Das ist mein core.js Code:
$scope.deleteWriter = function (row) {
$http.delete('/writer', $scope.row)
.error(function (data) {
console.log('Error: ' + data);
});
};
Das ist mein server.js Code:
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);
});
})
Dann benutze ich Funktion wr.delete zu entfernen Aufzeichnung von der Datenbank.
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);
}
};
Aber es funktioniert nicht, weil reqBody leer ist.
Wie kann ich es reparieren?
Welcher Fehler? Wo ist wr definiert? – Thalaivar
Versuchen Sie einen Datensatz aus einer Datenbank zu löschen? Hast du in Betracht gezogen, Sequelize zu verwenden? – Roysh
Ja, ich versuche einen Datensatz aus einer Datenbank zu löschen. Aber ich denke, dass ich in core.js etwas falsch gemacht habe. – DzouSi