很幸运,即使我收到200 ok的状态请求,我的数据也没有更新,下面是我的前端和后端代码
app.put('/movielist/updateMovie/:id',(req,res) =>{
let update = req.body;
mysqlConnection.query("UPDATE movielist SET name = ?, thumnail_path = ?, description = ?, year_released = ?, language_released = ? WHERE idmovielist = ?",
[update.name,update.thumnail_path,update.description,update.year_released,update.language_released,req.params.id],function (err, results) {
if (!err) {
res.send("Movie list is updated");
} else {
console.log(err);
}
});
});
以上是我的更新查询
$(function() {
//Fill the list when the page loaded
renderMovieList('movies');
$("#movieAdded").click(function(a) {
a.preventDefault();
let mydata = {
idmovielist: $($("#newForm")[0].intNum).val(),
name: $($("#newForm")[0].name).val(),
thumnail_path: $($("#newForm")[0].thumnail_path).val(),
description: $($("#newForm")[0].description).val(),
year_released: $($("#newForm")[0].year_released).val(),
language_released: $($("#newForm")[0].language_released).val(),
}
displayMovie(mydata);
$("#newForm").trigger("reset");
$("#newForm").toggle();
});
$("#updateMovie").on("click", function(a) {
a.preventDefault();
let data = {
idmovielist: $($("#updateForm")[0].intNum).val(),
name: $($("#updateForm")[0].name).val(),
thumnail_path: $($("#updateForm")[0].thumnail_path).val(),
description: $($("#updateForm")[0].description).val(),
year_released: $($("#updateForm")[0].year_released).val(),
language_released: $($("#updateForm")[0].language_released).val(),
}
putMovie($($("#updateForm")[0].movieId).val(), data);
$("#updateForm").trigger("reset");
$("#updateForm").toggle();
});
$("body").on('click', '.editMovie', function(a) {
a.preventDefault();
getOneMovie($($(this)[0]).data("movieId"));
});
$("body").on('click', '.deleteMovie', function(a) {
a.preventDefault();
deleteMovie($($(this)[0]).data("movieId"));
});
});
//FUNCTIONS PART----------------------------------------------
function renderMovieList() {
alert('getList');
$.ajax({
method: "GET",
url: "http://localhost:3000/movielist",
dataType: "json",
success: function(response) {
$('#movies').empty();
$.each(response, function(i, movie) {
const rowText = "<tr>" +
"<td>" + movie.idmovielist + "</td>" +
"<td>" + movie.name + "</td>" +
"<td>" + movie.thumbnail_path + "</td>" +
"<td>" + movie.description + "</td>" +
"<td>" + movie.year_released + "</td>" +
"<td>" + movie.language_released + "</td>" +
"<td>" + "<button button id = \"deleteMovie\" type=\"button\" class=\"btn btn-danger\" data-toggle=\"modal\" data-target=\"#exampleModal2\">Delete</button>" + "</td>" +
"<td>" + "<button button id = \"editMovie\" type=\"button\" class=\"btn btn-danger\" data-toggle=\"modal\" data-target=\"#exampleModal2\">Edit</button>" + "</td>";
$("#movies").append(rowText);
});
}
});
}
function getOneMovie(id) {
$.ajax({
url: "http://localhost:3000/movielist" + id,
method: 'GET',
dataType: 'json',
success: function(data) {
$($("#updateForm")[0].movieId).val(data._id);
$($("#updateForm")[0].intNum).val(data.intNum);
$($("#updateForm")[0].name).val(data.name);
$($("#updateForm")[0].thumnail_path).val(data.thumnail_path);
$($("#updateForm")[0].description).val(data.description);
$($("#updateForm")[0].year_released).val(data.year_released);
$($("#updateForm")[0].language_released).val(data.language_released);
$("#updateForm").show();
}
});
}
function displayMovie(mydata) {
$.ajax({
method: "POST",
url: "http://localhost:3000/movielist/addMovie",
dataType: "json",
data: mydata,
success: function(data) {
console.log(data);
renderMovieList();
}
});
}
function putMovie(data) {
$.ajax({
url: "http://localhost:3000/movielist/updateMovie/2",
method: 'PUT',
dataType: 'json',
data: data,
success: function(data) {
console.log(data);
getOneMovie();
}
});
}
function deleteMovie(id) {
$.ajax({
url: "http://localhost:3000/movielist/" + id,
method: 'DELETE',
dataType: 'json',
success: function(data) {
console.log(data);
}
});
}
因此,基本上,我将更新查询中的值设置为问号,以便可以在将单引号放在“?”上的UI中手动输入它们。但是我得到空值该怎么办,以便可以更新信息