CodeIgniter + jQuery UI autocomplete = 500内部服务器错误(带代码)
问题描述:
以下是视图代码:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<!-- Load JQuery UI -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript">
$( function() {
$("#input").autocomplete({
source: function(req, add){
$.ajax({
url: '<?php echo base_url(); ?>test/ac2',
dataType: 'json',
type: 'POST',
//data: req,
data: 'input='+req,
success: function(data){
if(data.response =='true'){
add(data.message);
}
}
});
},
minLength: 2,
select: function(event, ui){
$(this).end().val(ui.item.value);
}
});
});
</script>
</head>
<?php
echo form_open();
echo form_input('input', '', 'id="input"');
echo form_close();
?>
</html>
和控制器代码:
class Test extends CI_Controller {
function index()
{
$this->load->view('vw/test_vw');
}
public function ac2()
{
//$search = $this->input->post('term');
$search = $this->input->post('input');
$data['response'] = 'false';
$this->db->select('*');
$this->db->from('loc_exercise');
$this->db->like('locations', $search);
$locations = $this->db->get()->result();
if (count($locations) > 0) {
$data['message'] = array();
foreach ($locations as $location) {
$data['message'][] = array( 'label' => $location->locations,
'item' => $location->locations,
'value' => $location->locations );
}
$data['response'] = 'true';
}
echo json_encode($data);
}
当我在输入框中输入任何内容时,
When I type anything in into the input box I get this on the console:
POST http://my.example.com/test/ac2 500 (Internal Server Error)
,并且在CI错误日志上似乎没有问题(log_threshold为1,/ logs为chmod 777)。
and on CI error logs there seems to be no issues (log_threshold is 1, /logs is chmod 777).
我有我的config.php与query_strings TRUE和allow_get_array TRUE。
BTW I have my config.php with query_strings TRUE and allow_get_array TRUE.
任何想法如何解决这个问题? p>
Any ideas how to fix this issue?
答
这几乎肯定是一个CSRF令牌问题。
This is almost certainly a CSRF token issue.
href =http://codeigniter.com/forums/viewthread/176318/ =nofollow>这在CI论坛和这 blog post
See this in the CI forums and this blog post