嗨,大家好。我是 Ajax 的新手,所以我遇到了问题。当我按下假定的链接以使用 Ajax 时,它会显示一条错误消息,其中错误参数为空。我应该做些什么?
我已经尝试使用 base_url 而不是 site_url 并且没有用。点击函数的结构还可以,我已经测试过了。
谢谢。
视图.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js">
</script>
</head>
<body>
<div id="barra_horizontal">
</div>
<div id="barra_vertical_esquerda">
<ul id="nav">
<?php
echo "<li><a href='' id='ntop' name='ntop'>Ntop</a></li>";
foreach ($links as $l)
{
echo '<li>' . anchor($l['link'],$l['nome'], array('id'=>$l['id'])) . '</li>';
}
?>
</ul>
</div>
<div id="content">
<?php
if (isset($content))
{
include ($data[content]);
}
?>
</div>
<script>
$('#ntop').click(function(){
$.ajax({
url: '<?php echo site_url('home/get_all_table/');?>',
type:'POST',
dataType: 'json',
success: function(output_string){alert("Here!");},
error: function (x, status, error) {
alert("An error occurred: " + status + "\nError: " + error);
}
});
});
</script>
</body>
</html>
主页.php
class Home extends CI_Controller {
function __construct()
{
parent::__construct();
}
function index()
{
if ($this->session->userdata('logged_in'))
{
if (!$this->input->is_ajax_request())
{
$session_data = $this->session->userdata('logged_in');
$data['links'] = array(
array('link'=>'/home/logout/','nome'=>'Logout','id'=>'logout')
);
$this->load->view('main_view', $data);
}
else {
$data['links'] = array(
array('link'=>'/home/logout/','nome'=>'Logout')
);
$data['content'] = 'abcd.php';
$this->load->view('main_view', $data);
}
}
else
{
redirect('/','refresh');
}
}
function get_all_table()
{
$this->load->model('usuario_model');
$this->usuario_model->get_all_table();
}
}