使用Smarty模板将数据从视图传递到控制器

时间:2018-05-29 05:16:31

标签: javascript php smarty

我下载了一个应用程序,它是使用 SMARTY模板引擎编写的。我正在尝试使用下拉建议创建一个搜索引擎。

HTML code:

 $( "#txtsearch" ).keyup(function() {
  if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0){  
  filter = document.getElementById('filter').style.display="block";  

  userInput = encodeURIComponent(document.getElementById("txtsearch").value);  

 var _url = $("#_url").val();
 var urlsuggest = _url + 'ps/auto-suggest?userInput='+userInput;

  xmlHttp.open("GET", urlsuggest, true);  

  xmlHttp.onreadystatechange = handleResponse;  
  xmlHttp.send(null);  
  }else{  
  } 
});

使用Javascript:

  if(isset($_GET['userInput'])){
   $value = $_GET['userInput']; //assign the value
  }else{
   echo "no input";
  }

  $getdata = ORM::for_table('sys_items')->where_like('name',"%$value%")->order_by_asc('name')->find_many();

控制器

$value

问题是Controller中的var urlsuggest变量没有获得java脚本中$value传递的值。当我在$value="PRC"变量中添加默认值(例如_url + 'ps/auto-suggest')并将var urlsuggest更改为$value时,代码工作正常,它会显示所有带有"的数据。 PRC"在过滤器div。

如何将输入字段的值传递给Controller中的androix.lifecycle 2.0.0-beta01变量?任何帮助,将不胜感激。感谢。

1 个答案:

答案 0 :(得分:0)

您应该使用rawurldecode(),因为您使用encodeURIComponent进行编码。 请参阅Manual