我对此代码有疑问,当我按submit
按钮时如果一切正常InsertDB
应该返回“成功”并将其设置为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" );
}
}
});
});
这部分代码我认为永远不会执行
if(msgdl=="success")
{
start();
$( "#resultdialog" ).dialog( "open" );
}
答案 0 :(得分:0)
如果一切正常,InsertDB应返回“success”并将其设置为 msg变量。
这不是我在你的代码中看到的。你在'onSuccess'回调中做了相反的事情:
msg=data;
if(msg!="success"){
$("#resultdialog").text(msg);
$( "#resultdialog" ).dialog( "open" );
}
如果邮件不是“成功”,则只打印文本。
也许你想要添加if(msg =="success")
代替?