0
$.getJSON(get, function (data) {

        if(data.results[0])
        { ver = data.results[0];
            $("#result").html(ver);}
            else
        $("#result").html("This source does not provide the lyrics you want. Try Sources #1 and #2");

    });
    $.post("check.php", { 'vid': 'gS9o1FAszdk', 'sursa': "1", 'vers':ver } ,function(dt){alert(ver);});

这是我的代码,没有任何效果。如果我从数据中删除“vers”,则脚本可以正常工作。怎么了?

4

1 回答 1

6

因为AJAX 是异步的。因此,您的post方法不会等待getJSON完成执行并使用ver. 您应该将 post 调用移至 getJSON 的回调函数

$.getJSON(get, function (data) {
  var ver =""
  if(data.results[0])
        { ver = data.results[0];
            $("#result").html(ver);
        }
        else
        {  
           $("#result").html("This source does not provide the lyrics you want. Try Sources #1 and #2");
        }
       $.post("check.php", 
               { 'vid': 'gS9o1FAszdk', 'sursa': "1", 'vers':ver } ,function(dt){
                alert(ver);
       });

});
于 2012-06-12T21:13:30.873 回答