Jquery 成功:ajax中的函数(数据)';我不能正常工作
我对此代码有问题,当我按下Jquery 成功:ajax中的函数(数据)';我不能正常工作,jquery,Jquery,我对此代码有问题,当我按下submit按钮时,如果一切正常,InsertDB应该返回“success”,并将其设置为msg变量。但是信息的价值是“什么都没有”。。。但是,InsertDB的其他输出工作正常。。。我的意思是产出不等于“成功”。 问题出在哪里 var interval; function downloadArticle() { var msg="nothing"; var d = new Date(); var time = d.getTime(); var data
submit
按钮时,如果一切正常,InsertDB
应该返回“success”,并将其设置为msg
变量。但是信息的价值是“什么都没有”。。。但是,InsertDB
的其他输出工作正常。。。我的意思是产出不等于“成功”。
问题出在哪里
var interval;
function downloadArticle()
{
var msg="nothing";
var d = new Date();
var time = d.getTime();
var dataRes=$("#form1").serialize();
if(dataRes!="URL=")
{
$.ajax({
type: "POST",
url: "InsertDB.php",
data: dataRes +"&"+ "timeStamp=" + time,
success: function (data) {
msg=data;
if(msg!="success"){
$("#resultdialog").text(msg);
$( "#resultdialog" ).dialog( "open" );
}
},
error: function(xhr, ajaxOptions, thrownError) {
alert(xhr.statusText);
alert(thrownError);
}
});
}
return msg;
}
function check(){
var d = new Date();
var time = d.getTime();
var dataRes=$("#form1").serialize();
if(dataRes!="URL=" && msg=="success")
{
$.ajax({
type: "POST",
url: "Check.php",
data: dataRes+ "&"+"timeStamp=" + time,
success: function (data) {
if(data!="لطفا منتظر بمانید!")
{
window.clearInterval(interval);
}
if(data=="لطفا منتظر بمانید!")
{
content='<div id="resDiv1" style="width:90%; height:auto; margin-left:5%; margin-right:5%; margin-top:7%; font-size:14pt;" align="center"><strong>لطفا منتظر بمانید!</strong></div>';
$("#resultdialog").html("");
$("#resultdialog").html(content);
}
else
{
content='<div id="resDiv1" style="width:90%; height:auto; margin-left:5%; margin-right:5%; margin-top:5%; font-size:12pt;"><strong>لینک دانلود:</strong></br><div id="download" dir=ltr>'+data+'</div></div>';
feedback='<div id="feedback" style="width:100%; height:auto; margin-left:5%; margin-right:5%;" dir=rtl><input type="checkbox" id="feedbackBox" name="feedbackBox" value="1">لینک خراب است!</input><input type="button" id="feedbackButton" name="feedbackButton" value="گزارش"/></div>';
$("#resultdialog").text("");
$("#resultdialog").html(content+feedback);
}
}
});
}
else
window.clearInterval(interval);
}
function start(){
interval=self.setInterval(check,1000);
}
$(document).ready(function (){
$(document).on('click','#submit',function (){
var dataRes=$("#form1").serialize();
if(dataRes!="URL=")
{
var msgdl=downloadArticle();
if(msgdl=="success")
{
start();
$( "#resultdialog" ).dialog( "open" );
}
}
});
});
如果一切正常,InsertDB应该返回“success”并将其设置为
msg变量
这不是我在你的代码中看到的。您在“onSuccess”回调中的操作与此相反:
msg=data;
if(msg!="success"){
$("#resultdialog").text(msg);
$( "#resultdialog" ).dialog( "open" );
}
仅当消息不是“成功”时才打印文本。
也许你会想添加一个
if(msg==“success”)
来代替?在msg=data
之后,你是否尝试了console.log(msg)
?而且downloadArticle
函数总是会返回“nothing”
。当我用firebug设置断点时,当我一步一步调试时,一切似乎都正常,没有断点代码太糟糕了!是的,我想测试代码中是否有(msg或msgdl==“success”),但msgdl没有得到“success”值。在代码var msgdl=downloadArticle()的这一部分中;if(msgdl==“success”){start();$(“#resultdialog”).dialog(“open”)}
msg=data;
if(msg!="success"){
$("#resultdialog").text(msg);
$( "#resultdialog" ).dialog( "open" );
}