enter image description here 我在前端执行了put方法的屏幕截图,但是当我尝试执行该方法时,下面的“网络”选项卡根本没有响应,我有服务器代码和前端代码
app.put('/movielist/updateMovie/:id',(req,res) =>{
const id = req.params.id;
const update = req.body;
mysqlConnection.query("UPDATE movielist SET ? WHERE idmovielist = ?", [update, id], function (err, results) {
if (!err) {
res.send("Movie list is updated");
} else {
console.log(err);
}
});
});
$(function(){
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();
}
});
}
$("#movieAdded").click(function (a) {
console.log("movieAdded Click")
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);
console.log("Hidden")
$("#newForm").trigger("reset");
$("#newForm").toggle();
console.log("Hidden")
a.preventDefault();
});
function displayMovie(mydata) {
$.ajax({
method: "POST",
url: "http://localhost:3000/movielist/addMovie",
dataType: "json",
data: mydata,
success: function (data) {
console.log(data);
}
});
}
function loadButton() {
$(".editMovie").click(function (a) {
getOneMovie($($(this)[0]).data("movieId"));
a.preventDefault();
});
$(".deleteMovie").click(function (a) {
deleteMovie($($(this)[0]).data("movieId"));
a.preventDefault();
});
}
loadButton();
function putMovie(id, data) {
$.ajax({
url: 'http://localhost:3000/movielist/updateMovie/' + id,
method: 'PUT',
dataType: 'json',
data: data,
success: function (data) {
console.log(data);
getOneMovie();
}
});
}
$("#updateMovie").on("click", function (a) {
let data = {
idmovielist: $($("#updateForm")[0].intNum).val(),
name: $($("#updateForm")[0].name).val(),
thumnail_path: $($("#updataForm")[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();
a.preventDefault();
});
function deleteMovie(id) {
$.ajax({
url: "http://localhost:3000/movielist/" + id,
method: 'DELETE',
dataType: 'json',
success: function (data) {
console.log(data);
}
});
}
});
所以基本上,这个put在我的后端起作用,但是当我在前端执行它们时,他们没有任何反应,所以他们是我可以解决此问题的一种方式,并且他们在前端出现了问题,这也使我感到困惑。 js:79未捕获的TypeError:无法读取未定义的属性'thumnail_path'
thumnail_path:$($(“#updataForm”)[0] .thumnail_path).val(), 上面的这部分说它是未定义的
答案 0 :(得分:0)
您是否尝试过针对实际的数据库控制台运行此查询?
您需要设置 MyTabPageSelector(
controller: _controller,
color: Color(0x21000000),
//borderColor: Colors.blue you can set your own color if you want
selectedColor: Colors.white,
)
= [some value]。 SET需要一个参数来更改字段的值。
在显示的错误中,值year_released
周围也有双引号。那应该在它的两侧只有一个转义的\'。