我有这个js代码:
$("#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
应该像这样使用该网址:
$.getJSON(host,{searchId: $(this).val()},function() {
pagination("php/pagination.php", $('#currentPage').val(), $('#sortBy').val(), $("#sortMode").val(), "autosearch");
});
答案 0 :(得分: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");
});
});
});
});
答案 1 :(得分: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");
});
});
});
});