codeigniter在对控制器的ajax调用中获取404错误



hi,我正在用codeigniter构建一个基本网站,我基本上是laravel开发人员,但由于某种原因,我不得不使用codeigniters,在这里我用codeignitr视图页面进行ajax调用,我如下所示https://makitweb.com/send-ajax-request-codeigniter/本教程,这是我试过的代码

$.ajax({
type: "POST",
url: "<?php echo base_url('messages/msgnotification'); ?>",
data: "userid=" + '<?php echo $this->uri->segment(2); ?>',
success: function(msg){
console.log(msg);
}
}); 

这是在控制器中

class Messages extends CI_Controller {
function __construct() {
Parent::__construct();
$this->load->model('Chat_notification_model');
$getSession = $this->session->userdata;
public function index() {

}
// get unread chat
function msgnotification(){
// POST data
$postData = $this->input->post();
echo $postData;
// get data
$data = $this->Chat_notification_model->get_chat_notification($postData);
echo json_encode($data);
}

这是我的模式

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Chat_notification_model extends CI_Model {
function __construct() {
Parent::__construct();
}
function get_chat_notification($postData=array()){
$response = array();
if(isset($postData['user_id']) ){
// Select record
$this->db->select('count(*)');
$this->db->where('msg_id', $postData['user_id']);
$records = $this->db->get('Messages');
$cnt = $records->row_array();
$response = $cnt['count(*)'];
}
return $response;
}
?>    

我在下面提到了SO链接

  1. 托管时Codeigniter ajax调用404错误
  2. Codeigniter-Ajax调用出错(404(
  3. Codeigniter Ajax获取404错误

但没有人从上面帮助我,任何帮助都是感谢

您在ajax 中使用post方法传递了错误的数据

您的代码:data: "userid=" + '<?php echo $this->uri->segment(2); ?>',

需要更新或替换代码:data: { "userid :" + '<?php echo $this->uri->segment(2); ?>' },

如果你一直到404都没找到,请告诉我。

我在这里犯的错误是,我没有设置我的routing.php来接受我从ajax请求传递的url。

这可能会帮助一些正在搜索的人。

$route['messages/msgnotification']   = 'messages/msgnotification';

其余部分将保持与所讨论的相同。

我被卡住只是因为我遵循的教程没有使用布线部分。

相关内容

  • 没有找到相关文章

最新更新