我要传递多个变量,例如window.location.href="<?php echo base_url(); ?>search?result="+state1+"&c="+city1;
而不是window.location.href="<?php echo base_url(); ?>search/"+state1+"/"+city1;
现在,问题是当我单击“提交”按钮后定义了route
,即$route['search?(:any)'] = "test/search?$1";
时,它在search
页上显示了错误,什么也不打印。那么,如何解决此问题?请帮助我。
视图:
<script>
$(".submit").click(function(){
state1 = $("#state1").val();
city1 = $(".city1").val();
window.location.href="<?php echo base_url(); ?>search?result="+state1+"&c="+city1;
});
</script>
控制器:
public function search($raw)
{
echo $raw;
}
config / route.php
$route['search?(:any)'] = "test/search?$1";
谢谢
答案 0 :(得分:0)
您的路由错误。无需路由网址即可访问public async Task MakeBreakfast()
{
async Task MakeTea()
{
await BoilWater();
await PutTeainWater();
}
async Task MakeToast()
{
await StartToaster();
await PutBreadinToaster();
await SpreadButter();
}
await Task.WhenAll(MakeTea(), MakeToast());
}
值。
尝试以下代码。
将$_GET
更改为$route['search?(:any)'] = "test/search?$1";
要获取其值:
$route['search'] = "test/search";
$this->input->get('result');
答案 1 :(得分:0)
尝试一下,
POST:
$(".submit").click(function(){
var state1 = $("#state1").val();
var city1 = $(".city1").val();
$.ajax({
beforeSend: function () {
},
complete: function () {
},
type: "POST",
url: "<?php echo site_url('controller/cmethod'); ?>",
data: ({state: state1 ,city: city1}),
success: function (data) {
}
});
});
获取:
$(".submit").click(function(){
var state1 = $("#state1").val();
var city1 = $(".city1").val();
$.ajax({
beforeSend: function () {
},
complete: function () {
},
type: "GET",
url: "<?php echo site_url('controller/cmethod/'); ?>"+state1+"/"+city1 ,
success: function (data) {
}
});
});
PHP:
开机自检
function search(){
echo print_r($_POST);die;
}
获取
function search($state,$city){
echo $state;
echo $city;
die;
}
答案 2 :(得分:0)
当前您正在做的是向控制器发送$ _GET数据,您将需要使用来访问数据
$this->input->get();
这是一个数组,因此您将自动获取所有已发送的变量。
或者,您也可以按CI3的设计目的通过段发送数据。在控制器中,您可以将参数作为参数传递给函数。例如
function search($param1,$param2,$param3){
}
使用此方法,然后可以通过使用您的网站URL和数据段来访问此信息。
www.test.com/index.php/controller/param1/param2
您还需要将JS代码更改为
window.location.href="<?php echo base_url(); ?>search/" + state1 + "/" + city1;
答案 3 :(得分:0)
您尝试使用Get方法的值,例如Url参数, 请尝试此代码
jQuery代码
$(".submit").click(function(){
state = $("#state").val();
city = $(".city").val();
window.location.href="<?php echo base_url(); ?>search?state="+encodeURIComponent(state)+"&city="+encodeURIComponent(city);
});
路线
$route['search'] = "test/search";
控制器
public function search()
{
$state = $this->input->get('state');
$city = $this->input->get('city');
}