我尝试从javascript发送数据到使用ajax的控制器中运行。但阿贾克斯不会发送。我在下面发布我的代码:
在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 :(得分: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
。)
答案 1 :(得分: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";
答案 2 :(得分: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);
}
});
在你的控制器中:
public function eventi()
{
$day = $this->input->post('date');
if(!empty($day))
{
echo $day;
}
else
{
echo "No Data";
}
}