PHP -ajax 函数不将数据发送到控制器



Ajax函数:我可以在ajax中获取id,但无法发送到控制器。控制器正在调用,但我没有在控制器中获取数据。

function select_report()
{
var re_id =  $('#report_id').val();
// ajax adding data to database
alert(re_id);
$.ajax({
url : "<?php echo site_url('Homepage/category/');?>",
type: "POST",
data: {'re_id':re_id},
success: function(data)
{
window.location.href = "<?php echo site_url('Homepage/category/'); ?>";
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error');
}
});
}

控制器功能:

public function category()
{
$this->load->model('main_model');
$this->load->library('session');
$this->load->helper('url');
$re_id=$this->input->post('re_id');
print_r($re_id);
print_r("Welcome");
exit();
$data['report']=$this->main_model->select_report($re_id);
//Code to load header&footer
$this->load->view('templates/header');
$this->load->view('category.php',$data);
$this->load->view('templates/footer');
}

尝试检查。

function select_report()
{
var re_id =  $('#report_id').val();
$.ajax({
url: '<?php echo base_url();?>Homepage/category/',
async: false,
type: 'POST',
data: {re_id : re_id},
dataType: 'html',
success: function(data) {
console.log(data);
}
});
}

希望这对你有用。

我们无法在 ajax 请求中加载视图。为此,我们使用了另一种方法

function select_report()
{
var re_id =  $('#report_id').val();
// ajax adding data to database
alert(re_id);
$.ajax({
url : "<?php echo site_url('homepage/category/');?>",
type: "POST",
data: {'re_id':re_id},
dataType: 'json',
success: function(data)
{
console.log(data);
if(data==true){
window.location.href = "<?php echo site_url('homepage/category_demo/'); ?>"+re_id;
}else{
alert('Error');
}
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error');
}
});
}

在控制器中

public function category()
{
$this->load->library('session');
$this->load->helper('url');
$re_id=$this->input->post('re_id');
$report=$this->main_model->select_report($re_id);
if(count($report)>0){
echo json_encode(true);
}else{
echo json_encode(false);
}       
}
public function category_demo($re_id){
$data['report']=$this->main_model->select_report($re_id);
$this->load->view('templates/header');
$this->load->view('category.php',$data);
$this->load->view('templates/footer');
}

如果您使用Chrome浏览器,请检查标签 网络并检查发送到服务器的标头数据。是否具有要发送到控制器的数据,并检查来自该 URL 的响应是什么。请同时检查响应HTTP 状态

然后在服务器端检查,确保 URL 可以转到您的控制器。您可以在方法代码中死亡("测试"(,以确保请求触及您的代码。

我认为问题来自您的网址。

相关内容

  • 没有找到相关文章

最新更新