[英]how to call a controller from a javascript method?
这是我的 javascript 代码:
function find_country(){
var country_name = document.getElementById('searchBox');
if(country_name == "")
window.location.href = "https://localhost/teacherprivate";
if(country_name != "")
window.location.href = "<?php echo base_url('country-');?>"+country_name;
}
这是我的路线:
$route['country-([a-zA-Z_-]+)']='Countries/get_countries_by_searchword/$1/$2';
我做错了什么?
当您需要向localhost
发出请求时,请确保使用http://
而不是https://
。 你也可以简单地请求/teacherprivate
告诉浏览器重用协议和主机名。
您还需要在国家名称不为空白的情况下包含此正斜杠,因此
window.location.href = "<?php echo base_url('county-');?>"+country_name;
变成
window.location.href = "<?php echo base_url('/country-');?>"+country_name;
和window.location.href = "https://localhost/teacherprivate";
变为window.location.href = "/teacherprivate";
此外,您正在存储文档元素本身,您需要它的值: "+country_name.value;
$route['country-([a-zA-Z_-]+)']='Countries/get_countries_by_searchword/$1/$2';
此路由没有任何要通过 $1/$2 发送的可变数据
但是您可以将链接结构更改为:
window.location.href = "<?php echo base_url('country/');?>"+country_name;
那么这条路线组合将起作用:
$route['country']='countries/get_countries_by_searchword';
$route['country/(:any)']='countries/get_countries_by_searchword/$1';
第一个覆盖没有country_name值的情况,第二个响应country_name有一个值。
在您的控制器的国家/地区中。变量$country
对应于$1
。 你这样写:
get_countries_by_searchword($country=''){
if($country){
// do something with $country
}else{
// handle empty $country
}
}
关于Codeigniter Uri 路由的信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.