ajax没有向控制器发送数据
var url = "<?php echo base_url(); ?>";
function allowip() {
var url = "<?php echo base_url(); ?>"
var id = $('#path').attr('value');
$.ajax({
type: "POST",
url: url+"client/home/get_ip",
//dataType: 'text',
data: {'id': id},
//cache: false,
success: function(abc) {
alert(abc);
},
error:function(data) {
alert('no working');
}
});
}
警报与数据一起显示,但未向控制器发送数据 控制器为空
public function get_ip($id)
{
$day = $this->input->post('id');
echo $day;
}
答案 0 :(得分:0)
您正在向函数发送参数,因此您可以像这样更改代码
function allowip() {
var id = $('#path').attr('value');
var url = "<?php echo base_url(); ?>"+"client/home/get_ip/"+id
$.ajax({
type: "GET",
url: url,
dataType: "html",
success: function(abc) {
alert(abc);
},
error:function(data) {
alert('no working');
}
});
}
您的操作将是
public function get_ip($id)
{
echo $id;
}
答案 1 :(得分:0)
我认为这可能是您获得价值的方式。很难看到视图代码,但是我会假设$('#path')
是某种<input...>
元素。如果那是正确的,则尝试获取像这样的值
var id = $('#path').val();
忘记将参数与get_ip()
函数一起使用。您要发布到控制器,而不用参数值创建URL。试试这个。
public function get_ip()
{
$day = $this->input->post('id');
echo !empty($day) ? $day : "No Input"; //or, an empty string instead?
}
答案 2 :(得分:0)
由于您的get_ip
函数具有参数$id
,因此必须传递该参数,因此url关键字可能会发生冲突,因此请使用其他变量名,并使用{{ 1}}功能。
这可能会有所帮助:
#path
或者您可以做的是在已经在数据中发布val()
,但只需更改一些行即可:
function allowip() {
var id = $('#path').val();
var request_url = "<?php echo base_url(); ?>"+"client/home/get_ip/"+id;
$.ajax({
type: "POST",
url: request_url,
data: {'id': id},
success: function(abc) {
alert(abc);
},
error:function(data) {
alert('no working');
}
});
}
public function get_ip($id)
{
echo $id;
}