我有一个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)
您应该使用$_GET
,因为参数是通过查询字符串发送到服务器的。
测试它,它会正常工作。
为什么它在本地工作而不是在网上安装网站时?那么这与$_REQUEST
的工作方式有关,并且可能是在本地服务器而不是生产服务器中工作的众多原因。您可以找到有关here。
答案 1 :(得分:-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']
的行的行号。