2012-07-26 53 views
0

我設計了一個網站,將用戶輸入作爲搜索參數,並使用它們使用AJAX調用PHP頁面來搜索數據庫。在這個AJAX調用中,顯然我有一些數據(格式化爲JSON文件),我操作並在ajax參數的「成功」部分使用。 以下是問題 - 我希望能夠分析用戶放入的縮小搜索數據與整個數據庫羣體中的數據。我怎樣才能做到這一點? 我以爲我只是做另一個AJAX調用,但來自該調用的數據似乎無法從外部訪問,我找不到任何方法將它「導出」到調用之外。 下面是代碼的縮寫版本:多個AJAX調用和JSON數據

$.ajax({ 
    url: URL for the search .php, 
    cache: false, 
    data: { 
      Various search parameters by the user 
     }, 
    dataType:"json", 
    success:function(data){ 
     Data manipulation and reading the resulting JSON 
     $.ajax({ 
      url:URL2 for the population .php, 
      cache: false, 
      dataType:"json", 
      success:function(data){ 
       population data stuff here 
      }, 
      error: error stuff 


    } 
     error: error stuff 
} 

這是我所知道的迄今訪問數​​據庫的唯一途徑。我怎樣才能以某種方式將數據從第二個AJAX中提取出來,以便我可以在第一個AJAX中使用它?

+0

可能的重複。你想鏈ajax調用,看到這個問題:http://stackoverflow.com/questions/995529/how-to-chain-ajax-requests – MStodd 2012-07-26 19:47:03

回答

1

由於您使用的是異步回調,因此無法從第二個調用中「提取」數據並在第一次使用它。你將不得不做的是做出這兩個調用,並使用第二次調用成功回調中的數據。如果將使用成功回調函數的變量重命名爲唯一的,則可以執行此操作。

$.ajax({ 
    url: /**/, 
    success:function(response1){ 
     $.ajax({ 
      url: /**/, 
      success:function(response2){ 
       /* use both response1 and response2 here */ 
      }, 
      error: /**/ 
     }) 
    }, 
    error: /**/ 
}) 

如果不使用從第一AJAX調用數據,使第二AJAX調用,您可以使用像jQuery.when東西等待這兩個請求的完成。

+0

我相信會做到這一點...謝謝! :d – superspartan999 2012-07-26 20:31:07