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" );
}