2017-07-06 93 views
-1

我想从JavaScript发送数据到ajax控制器中的功能。但阿贾克斯不会发送。我下面张贴我的代码:从ajax发送数据到控制器codeigniter

在javascript函数

var day = $(obj).text(); 
var base_url = $('#baseurl').val(); 

$.ajax({ 
    url: base_url + "Front_end_controller/eventi", 
    method: 'POST', 
    data: {date: day}, 
    success:function(result) { 
     alert(result); // alert your date variable value here 
    } 
}); 

在控制器

public function eventi() 
{ 
    $day = $this->input->post('date'); 
    var_dump($day); 
} 
+0

你试过'的var_dump($ _ POST)'某个时候采取行动怪异 – Nicolas

+0

返回NULL在控制器的功能。 – Hadorn

+0

此外,AJAX不会发送任何空数据,请确保您的'day'变量已设置。 – Nicolas

回答

0

试试这个。看看它是否有效。只是用 “型” 而不是 “法”

var day = $(obj).text(); 
var base_url = $('#baseurl').val(); 

$.ajax({ 
    type: 'POST', 
    url: base_url + "Front_end_controller/eventi", 
    data: {date: day}, 
    success:function(result) { 
     alert(result); // alert your date variable value here 
    }, 
    error:function(result) { 
     console.log(result); 
    } 
}); 

而在你CONTROLER:

public function eventi() 
{ 
    $day = $this->input->post('date'); 
    if(!empty($day)) 
    { 
     echo $day; 
    } 
    else 
    { 
     echo "No Data"; 
    } 
} 
+0

它的工作!谢谢你,朋友! – Hadorn

0

我怀疑你错过的东西。在ajax函数中添加错误回调:

var day = $(obj).text(); 
var base_url = $('#baseurl').val(); 

$.ajax({ 
    url: base_url + "Front_end_controller/eventi", 
    method: 'POST', 
    data: {date: day}, 
    success:function(result) { 
     alert(result); // alert your date variable value here 
    }, 
    error:function(result) { 
     console.log(result); 
    } 
}); 

现在,检查您的控制台是否有错误。 也可能是路线上的错误(也检查/application/config/routes.php)。

+0

不幸的是没有错误显示。 ajax称其正确... – Hadorn

+0

您是否尝试过打印某些内容并检查内容是否显示为“成功”或“错误”?如果你尝试使用get来传递什么会发生什么?你能手动到达页面并检查打印出来的内容吗? – Ryosaku

0

您应该尝试echo而不是var_dump。另外,检查输入是否真的在那里,并回显一条消息,如果不是。

public function eventi() 
{ 
    $day = $this->input->post('date'); 
    if(isset($day)) //not NULL 
    { 
     echo $day; 
    } 
    else 
    { 
     echo "No Data"; 
    } 
} 

您也可以使用三元来决定回声。这一行产生与上面的if/else语句相同的结果。

echo isset($day) ? $day : "No Data"; 
+0

是的。结果是“没有数据”,所以Ajax不发送数据给控制器。 – Hadorn

+0

可能是因为'$(obj).text();'在你的javascript中没有返回任何东西。 – DFriend

+0

以及'$(obj).text();'返回在控制台中选择的号码。我用它来获得数字选择,当我点击链接href '' – Hadorn

相关问题