2012-05-18 52 views
1

我創建這裏我想使用jQuery來填充自動完成文本框一個WordPress插件和源是從數據庫中。jQuery的自動完成腳本沒有響應

jQuery腳本

$("#tags").autocomplete({ 
     source: "<?php echo WP_PLUGIN_URL.'/plugin-name/php-file.php'?>" 
    }); 

HTML

<div class="ui-widget"> 
<label for="tags">Tags: </label> 
<input id="tags"> 

PHP

global $wpdb; 
$code = $wpdb->get_results(
     "SELECT suburb as label, post_code as code 
     FROM Sheet1 
     ",ARRAY_A 
     ); 
echo(json_encode($code)); 

但是當我運行此,該腳本將崩潰。

什麼似乎是問題?

+2

請提供更多詳情。你收到的錯誤是什麼? PHP崩潰還是JS?您是否驗證過由PHP輸出的源URL實際上存在? –

+0

使用螢火蟲控制檯,在響應選項卡它返回從數據庫的列表,但有一個錯誤:已達到Firebug響應大小限制。 – Jetoox

+0

螢火控制檯響應:[{「標籤」:「郊區」,「代碼」:「郵政編碼」} ..... – Jetoox

回答

1

您沒有設置查詢過濾器:

global $wpdb; 
$code = $wpdb->get_results(
    "SELECT suburb as label, post_code as code 
    FROM Sheet1 
    WHERE suburb like '%" . $_GET["term"] . "%' 
    LIMIT 0,25 
    ",ARRAY_A 
    ); 
echo(json_encode($code)); 

不過,當然,你需要消毒$_GET["term"]部分。

+0

沒錯。我已經修復了我的代碼,它看起來像這樣。謝啦。 :) – Jetoox

+0

不客氣。 –