2010-03-16 55 views
0

我有這樣的JS代碼:jQuery來構造一個字符串,並把它作爲一個參數後文件

$("#startSearch").live("click", function(event) { 
    $("input:checkbox[name='searchId']:checked").each(function() { 
     var searchId = $(this).val(); 
     var host = ''; 
     $.post("php/autosearch-get-host.php",{sId: searchId},function(data){ 
      host = 'http://' + data + '/index.php'; 
     }); 
     //alert(host); 
     $.getJSON(host,{searchId: $(this).val()},function(){ 
      pagination("php/pagination.php", $('#currentPage').val(), $('#sortBy').val(), $("#sortMode").val(), "autosearch"); 
     }); 
    }); 
}); 

php文件php/autosearch-get-host.php返回與主機名的字符串。我想要的是從數據庫中獲取主機,使用字符串連接創建URL並將其作爲參數傳遞給另一個$.post$.post應該使用URL這樣的:

$.getJSON(host,{searchId: $(this).val()},function() { 
    pagination("php/pagination.php", $('#currentPage').val(), $('#sortBy').val(), $("#sortMode").val(), "autosearch"); 
}); 

回答

0

嘗試移動回調函數內一個請求。作爲AJAX請求是異步的可變host將仍然設置爲''$.getJSON稱爲

$("#startSearch").live("click", function(event) { 
    $("input:checkbox[name='searchId']:checked").each(function() { 
     var searchId = $(this).val(); 
     var host = ''; 
     $.post("php/autosearch-get-host.php",{sId: searchId},function(data){ 
      host = 'http://' + data + '/index.php'; 
      $.getJSON(host,{searchId: $(this).val()},function(){ 
       pagination("php/pagination.php", $('#currentPage').val(), $('#sortBy').val(), $("#sortMode").val(), "autosearch"); 
      }); 
     }); 
    }); 
}); 
0
$("#startSearch").live("click", function(event){ 
    $("input:checkbox[name='searchId']:checked").each(function(){ 
    var searchId = $(this).val(); 
    var host = ''; 
    $.post("php/autosearch-get-host.php",{sId: searchId},function(data){ 
     // this code is executed when the POST is finished 
     host = 'http://' + data + '/index.php'; 
     $.getJSON(host,{searchId: $(this).val()},function(){ 
     pagination("php/pagination.php", $('#currentPage').val(), $('#sortBy').val(), $("#sortMode").val(), "autosearch"); 
     }); 
    }); 
    }); 
}); 
相關問題