已经多次询问和回答了这个问题,但我仍然将我的语法与answeres中描述的正确语法进行比较,并且无法找到错误。
$('.voteBtn').bind('click', function () {
var vote = 1;
$.post(
"vote.php",
{ vote: vote},
function(vote) {
alert (vote); // BUG HERE
}
);
});
根据var vote = 1;
但是当前结果是空字符串的警告。
我做错了什么?
答案 0 :(得分:2)
你有一个名为vote
的参数导致问题,所以ajax回调vote
变量内部是指ajax请求返回的数据,而不是click处理程序中的闭包变量< / p>
要解决此问题,请将参数重命名为data
$('.voteBtn').bind('click', function () {
var vote = 1;
$.post("vote.php", {
vote: vote,
pollID: id
}, function (data) {
alert(vote); // BUG HERE
});
});
答案 1 :(得分:1)
目前,您vote
{j}是从您的ajax请求返回的数据alert
,而不是之前定义的数据,请尝试使用此代码:
$('.voteBtn').bind('click', function () {
var $vote = 1;
$.post(
"vote.php",
{ vote: $vote},
function(vote) {
alert ($vote); // BUG HERE
}
);
});