繁体   English   中英

如何从 javascript 方法调用 controller?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM