我的网站上有这样的代码来批准帖子:
function approvePost(idToApprove,moderatorType)
{
var answer = confirm('are you sure to approve post?!');
if(answer)
{
$.post('submit.php',{idToApprove:idToApprove , moderatorType:moderatorType},result);
alert('1111');
function result(data)
{
alert(data);
if(data=="success")
{
alert("successful!");
}
else alert('fail!');
}
}
else{
return false;
}
}
这段代码在chrome和IE中表现良好,但在firefox中$.post(…..)之后的代码不起作用。我的意思是警报(111);和警报(数据);不起作用!我不知道为什么?!我该怎么办?
感谢
如果我把代码改成这样,$.post(…工作!!!问题存在于不同的计算机中,这不是因为缓存!我认为问题出在confirm()函数上。如果我不使用它,它很好用!!!
function approvePost(idToApprove,moderatorType)
{
$.post('submit.php',{idToApprove:idToApprove , moderatorType:moderatorType},result);
var answer = confirm('are you sure to approve post?!');
if(answer){
$.post('submit.php',{idToApprove:idToApprove , moderatorType:moderatorType},result);
alert('1111');
function result(data){
alert(data);
if(data=="success"){
alert("successful!");
}
else alert('fail!');
}
}else{
return false;
}
}
我找到了解决方案!问题是因为$.post在if语句中。即使条件成立,$.post也不起作用!我不知道为什么,但我这样修改代码,它正常工作!
function approvePost(idToApprove,moderatorType)
{
var answer = confirm('are you sure to approve post?!');
if(!answer)
{
return false;
}
$.post('submit.php',{idToApprove:idToApprove , moderatorType:moderatorType},result);
alert('1111');
function result(data)
{
if(data=="success"){
alert("successful!");
}
else alert('fail!');
}
}