即使我的警报($ userId)打印出1(这是用户的id),我仍然会收到错误,就像没有定义userId一样。知道为什么吗?
$('.postComment').on('click', function(event){
event.preventDefault();
$userId = $("input[name=user_id]").val();
$imageId = $("input[name=image_id]").val();
$comment = $("textarea[name=comment]").val();
alert($userId);
$.ajax({
method: 'POST',
url: urlComment,
data: {userId: userId, imageId: imageId, comment: comment}
}).done(function(){
alert('Works');
})
});
答案 0 :(得分:1)
你正在使用jQuery和$在这里使用非常不同:
这是您可以尝试的最干净的方式:
$('.postComment').on('click', function(event){
event.preventDefault();
$.ajax({
method: 'POST',
url: urlComment,
data: {
userId: $("input[name=user_id]").val(),
imageId: $("input[name=image_id]").val(),
comment: $("textarea[name=comment]").val()}
}).done(function(){
alert('Works');
})
});
在您的代码中,您有一个名为 $ userId 的变量,而您使用的是 userId ,但未声明这就是您收到错误的原因。
答案 1 :(得分:0)
尝试以下
$('.postComment').on('click', function(event){
event.preventDefault();
var userId = $("input[name=user_id]").val();
var imageId = $("input[name=image_id]").val();
var comment = $("textarea[name=comment]").val();
alert(userId);
$.ajax({
method: 'POST',
url: urlComment,
data: {userId: userId, imageId: imageId, comment: comment}
}).done(function(){
alert('Works');
})
});
或者
$('.postComment').on('click', function(event){
event.preventDefault();
var $userId = $("input[name=user_id]").val();
var $imageId = $("input[name=image_id]").val();
var $comment = $("textarea[name=comment]").val();
alert($userId);
$.ajax({
method: 'POST',
url: urlComment,
data: {userId: $userId, imageId: $imageId, comment: $comment}
}).done(function(){
alert('Works');
})
});