jQuery bir dize oluşturmak ve dosya için bir post argüman olarak geçmesi

1 Cevap php

Ben bu kodu js var:

$("#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 dosyası php/autosearch-get-host.php ana bilgisayar adı ile bir dize döndürür. Ne istiyorum, veritabanından ev sahibi olsun dize birleştirme kullanarak URL oluşturmak ve başka bir argüman olarak geçmesi için $.post. $.post Bunun gibi o URL'yi kullanmanız gerekir:

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

1 Cevap

Geri arama fonksiyonu içinde bu tek isteği taşımayı deneyin. Ajax isteği asenkron olarak değişken host hala kurulacaktır '' $.getJSON çağrıldığında

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