我尝试使用Ajax向控制器调用3个参数,但它给了我错误Missing argument 1 and 2 and 3
,我知道Codeigniter只接受1个参数,所以我尝试在函数内添加:
$calibracao_data = $this->uri->segment(3);
$user_a_drop = $this->uri->segment(4);
$status = $this->uri->segment(5);
但没有任何效果,我也在函数内部回应变量,并没有取得成功。
更改了配置文件:$config['permitted_uri_chars'] = 'a-z 0-9~%.:&_\-';
,没有任何内容
ajax的代码:
<script>
function get_active(calibracao_data, user_a_drop, ativo){
var fieldcal = $("input#calibracao_data").val();
var field1 = fieldcal.replace("/", "-");
var field2 = $("select#user_a_drop").val();
var field3 = ativo;
jQuery.ajax({
url: "<?php echo base_url().'instrumentos/get_proximocal_cliente_status/'; ?>",
data: { field1: field1, field2: field2, get_status: field3 },
success: function(g) {
//alert (g);
$(".post_table").html(g);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("some error");
}
});
};
从控制台返回:
http://localhost/apoio/app/instrumentos/get_proximocal_cliente_status/?field1=04-16&field2=75&get_status=Ativo
请帮忙。
答案 0 :(得分:0)
尝试
$calibracao_data = $this->input->get('field1');
$user_a_drop = $this->input->get('field2');
$status = $this->input->get('field3');
或者将method: "POST",
属性添加到AJAX对象。
如果您无法实现所有后果,请不要更改配置文件中的任何内容,例如允许使用字符参数。
答案 1 :(得分:0)
var param = {
fieldcal : $("input#calibracao_data").val(),
field1 : fieldcal.replace("/", "-"),
field2 : $("select#user_a_drop").val(),
field3 :ativo
}
$.ajax({
type: "POST",
url: "<?=base_url()?>.'instrumentos/get_proximocal_cliente_status",
data: param,
cache: false,
success: function(rs)
{
$(".post_table").html(rs);
},
}
});
您可以查看以上代码,为我工作