2014-06-09 65 views
0

我有具有以下代碼suggestion搜索框:

HTML

<input style="margin-right: 10px;height: 21px;" type="text" 
     placeholder="Persons First Name" name="individual_name" id="individual_name" 
     onfocus="clearField(this, this.placeholder)" 
     onkeyup="filter_individual_results()"/> 

的JavaScript

<script> 
    $(function() { 
     $("#individual_name").autocomplete({ 
      source: "<?php echo base_url(); ?>frontend_individual/suggest_names", 
      minLength  : 3, 
      select: function(event, ui) { 
       //$('#ui-id'+i).click(filter_individual_results()); 
       update_input_box('individual_name',ui.item.value,'2'); 
       //alert('id :'+ui.item.value) ; 
       //document.location.href = base_url+"controller_name/search?keyword="+ui.item.value; do something or redirect 
      }, 
      success : function(resp) { 
       filter_individual_results();//alert("auto"); 
      }, 
      error : function() { 
       alert("Oops, that didn't work. Please try again."); 

      } 
     }); 
    }); 
</script> 

PHP

這裏是建議控制器:

3837: public function suggest_names() { 
3838:  print_r($this->user_profile_model->suggest_names($_REQUEST['term'])); 
3839: } 

該腳本可以正常使用本地PC上,但是當我在網上運行該搜索它不工作。它不斷給我這個錯誤:

<h4>A PHP Error was encountered</h4> 

<p>Severity: Notice</p> 
<p>Message: Undefined index: term</p> 
<p>Filename: controllers/frontend_individual.php</p> 
<p>Line Number: 3838</p> 

我想知道爲什麼它在本地工作,但不在線。

+0

你是什麼意思在線?這可能意味着你從開發機器發佈網站到外部世界,從外部開始它不起作用,或者它可能意味着你在另一臺機器上安裝瞭解決方案,並且它不在那裏工作,這是什麼? –

+0

在線我的意思是在線服務器。在本地主機上,它完美的工作,但不在線上的網頁鏈接。 – Omicans

+1

你試過用$ _GET嗎?之後,如果它有效,我給你一個包含鏈接的答案,解釋使用$ _REQUEST而不是$ _GET或$ _POST的含義... –

回答

0

您應該使用$_GET,因爲參數正通過查詢字符串發送到服務器。 測試它,它會工作得很好。

它爲什麼在本地工作,而不是當你在網上安裝網站?那麼這與$_REQUEST的工作方式有關,並且可能有很多原因會在您的本地服務器而不是在您的生產服務器上工作。你可以找到更多關於here的信息。

-1

訪問$_REQUEST['term']值之前將是明智判斷是否已經被設置

if(isset($_REQUEST['term'])) 
{ 
    /* do code in here using $_REQUEST['term'] */ 
} 
else 
{ 
    /* possible code to execute when $_REQUEST['term'] has not been initiated */ 
    /* perhaps an error message */ 
} 

你的PHP錯誤消息具體地示出的term未定義索引並給參考含有$_REQUEST['term']一個行的行號。

+0

儘管這可能是明智的,但它不能解決問題,因爲即使發送了「term」值,錯誤也正在發生。正因爲如此,我已經給了你-1,因爲這對用戶問題沒有任何貢獻。考慮改進你的答案,我可以刪除我的投票。 –