找不到CodeIgniter ajax链接



我在从Controller获取数据时遇到问题,我已经尝试了这里的所有解决方案,但都是一样的。。

当我点击按钮时,它显示404未找到,如果我将URL更改为包含控制器类名+函数名的完整URL,它显示403

这是我的视图代码:

<h2>Quiz</h2>
<script type="text/javascript">
$(document).ready(function(){
var BASE_URL = '<?php echo base_url(); ?>';
$('#show').click(function(e){
console.log(BASE_URL);
$.ajax({
url: BASE_URL + "Quiz/get_item",
dataType:'text',
type:"POST",
success: function(result){
var obj = $.parseJSON(result);
console.log(obj);
}
})
})
});
</script>
<button id="show">Show Cutomers</button>
<div id="customers-list"></div>
<p>Our first multi-page CodeIgniter application! Each page has its own controller and view!</p>

这是我的控制器代码:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Quiz extends CI_Controller {
var $TPL;
public function __construct()
{
parent::__construct();
$this->load->model('Quiz_data');
// Your own constructor code
}
function show_customers()
{
$query = $this->db-> query("SELECT * FROM quiz ORDER BY id;");
$this->TPL['listing'] = $query->result_array();
$this->template->show('quiz', $this->TPL);
}
public function index()
{
$this->template->show('quiz', $this->TPL);
}
public function get_item(){
$data = $this ->Quiz_data->get_data();
echo json_encode($data);
}
}

这是我的型号代码:

<?php
class Quiz_data extends CI_Model {
public function get_data()
{       
$query = $this->db->get('quiz');
return $query -> result_array();
}
}

的输出是什么

console.log(BASE_URL);

有一段时间没有处理CI,但它过去需要在URL中使用/index.php/。尝试:

url: BASE_URL + "/index.php/quiz/get_item",

尽管控制器名称需要以大写字母开头,但它不需要在URL中以这种方式调用。

确保url: BASE_URL + "Quiz/get_item"提供了正确的URL。

var BASE_URL = '<?php echo base_url(); ?>';可能不提供尾部斜杠,您将无法获得正确的url。

尝试用以下内容更新您的通话:

url: BASE_URL + "/Quiz/get_item",

相关内容

  • 没有找到相关文章

最新更新