2014-06-25 30 views
0

兩個或三個搜索了一段時間後死機,我的beta測試者報告我一個錯誤: 後過多的搜索,瀏覽器崩潰......這就是 如何發生: 用戶輸入的「 Bla「,然後按搜索按鈕,然後搜索結果(近600條結果)將顯示給此用戶及其正常。 如果此用戶做到這一點的方法2或3次瀏覽器將凍結,只有解決這個問題是刷新頁面的方式...PHP,阿賈克斯搜索:瀏覽器後,通過ajax

JavaScript的搜索功能:

 
    var Url = "localhost/Search.php?x="+x; 
    $.ajax({type:"GET",url: Url,success: function(data){ 
    $('#searchdiv').html(data); 
    }}); 
的PHP腳本:
 
    $sql="SELECT * FROM reports WHERE code LIKE '%$x%' limit 0,15"; 
    $result = mysqli_query($dbC, $sql); 
    $count = mysqli_num_rows($result); 
    $respond = '<table ><tbody><tr><th>Code</th></tr>'; 
    while ($row = mysqli_fetch_array($result)){ 
    $respond .= '<td>'.$row['code'].'</td>'; 
    } 
    $respond .= '</tbody></table>'; 
    echo $respond; 
我最近添加LIMIT 0,15和桌子分頁,但它仍然凍結。 我不測試的其他選項是使用ajax和json從php獲取所有結果,並使用javascript顯示,但在此之前我想問你們我的其他選項是什麼?

PS:經過太多的搜索會出現這樣的錯誤:未捕獲 的RangeError:在jquery.min.js超過提前:)

由於最大調用堆棧大小

+0

這是託管在我們可以檢查的地方嗎? – thesimm

+0

它的本地但等待我將上傳:)並且謝謝 –

+1

錯誤引用了一個stackoverflow(hesaidit.gif),但是使用googling這個錯誤並不能說明原因。它通常意味着你正在某個地方創建一個無限循環,或者你生成了大量數據,以至於達到了本地緩存的最大大小。 – kpp

回答

0

該錯誤時,往往出現有是一個無限循環,而不是因爲數據的長度。

檢查更新#searchdiv本身是否觸發ajax請求,通過觀察檢查員的網絡選項卡再次運行。它可能也值得嘗試一個不同版本的jQuery,以排除一個jQuery的bug(可能不太可能!)