所以基本上我在javascript中有一个两项数组,它是根据用户点击的链接生成的。我试图将此数组发送到我的控制器,然后发送到模型。模型将查看数组并将其中一个项与特定列/行匹配,并将有选择地显示数据。
我在将数据从AJAX传递到控制器时遇到问题。
AJAX代码(在.js文件中)
$('#youmax-video-list-div').append('<div id="testing1"></div>');
$('#concept').click(function(){
console.log(course);
$.ajax({
url: 'http://localhost:8888/index.php/trial/getValues',
type:'POST',
dataType: 'json',
data:'',
error: function(){
$('#testing1').append('<p>goodbye world</p>');
},
success: function(result) {
var htmlStr = '';
$.each(result, function(a, b){
htmlStr += b.qText + '<br />';
});
$('#testing1').append(htmlStr);
} // End of success function of ajax form
}); // End of ajax call
});
我假设我必须对数据字段做一些事情,但我不知道它的语法。
Chrome控制台登录时会出现这个:
数组[2] 0:“PL8G0kdHFfE3WuyevUDvwSYCZw8mp8LBFA” 1:“PL8G0kdHFfE3V62Jp2ju-PelOaNUkH7xR8”
控制器
function getValues(){
$this->load->model('get_db');
$data = $this->get_db->getAll();
$this->output->set_content_type('application/json');
$this->output->set_output(json_encode($data));
return $data;
}
模型
class Get_db extends CI_Model{
function getAll(){
$query=$this->db->query("SELECT * FROM questions");
return $query->result();
//returns from this string in the db, converts it into an array
}
}
正如我之前所说,我真的只关心将数据传输到我的控制器和我的模型。 数组的名称是“course”。但是,在console.log中似乎并非如此。这只是铬的事吗?
答案 0 :(得分:1)
// chkval 是数组元素的类
AJAX功能:
function ajaxSub(goals)
{
var theArray = new Array();
var i=0;
jQuery('.chkval').each(function(){
if(jQuery(this).prop('checked'))
{
theArray[i] = jQuery(this).val();
i++;
}
});
jQuery.ajax({
url: '<?php echo site_url('mycontroller/myfunctions');?>',
type: 'post',
data: {
arr: theArray,
other_id: ''
},
datatype: 'json',
success: function () {
}
});
}
在控制器中:
$arr = $this->post('arr');
foreach($arr as $ar)
{
echo $ar; // prints each element of the array.
}
答案 1 :(得分:0)
与上述答案相同,但在控制器中运行此代码:
$arr = $this->input->post('arr');
foreach($arr as $ar)
{
echo $ar; // prints each element of the array.
}