我正在尝试使用ajax发送呼叫,但在Chrome中却出现错误,但在firefox中没有错误。但是仍然不能调用该方法。 此追加显示7个div,但是某些div被加载,但是某些div继续加载,控制台显示错误500
//get recent posts via ajax controller class
public function get_recent_articles($cr_post_id,$category,$limit,$offset)
{
$recent_post=$this->Post_model->get_recent_articles($cr_post_id,$category,$limit,$offset);
return $this->output
->set_content_type('application/json')
->set_status_header(200)
->set_output(json_encode($recent_post));
}
这是视图部分
$('#recent_post_cat_2').show();
$('#recent_post_cat_2').append('<div id="recent_post_cat_2_preloader" class="col-md-12 col-sm-12 text-center" style="vertical-align:middle;padding:15px 0px;"><i class="fa fa-spinner fa-spin" style="font-size:24px"></i></div>');
这是Ajax函数
/* START - get_recent_articles*/
function get_recent_articles(category,div_id,limit)
{
//prepare url
url="<?php echo "/./home-recent-articles-filter-cat/";?>"+category+"/"+limit+"/"; $.ajax({
url: url,
type: 'GET',
dataType: "json",
crossDomain: true,
success: function(data){
// console.log(JSON.stringify(data));
if(data.status=="success")
{
prepared_posts_data=prepare_cards(category,data.data,3);
$(div_id+'_preloader').remove();
$(div_id).append(prepared_posts_data);
$(div_id).show();
var myLazyLoad = new LazyLoad({
threshold: 50,
callback_load: function(e) {
// console.log($(e).attr("data-original") + " loaded" );
}
});
}
else{
console.log("no posts available");
}
}
});
}
答案 0 :(得分:0)
我怀疑这行
url="<?php echo "/./home-recent-articles-filter-cat/";?>"+category+"/"+limit+"/";
Codeigniter URL看起来不是这样。它至少包含3个参数(除非有index
函数)
所以应该是这样的
url = <?= base_url(); ?>.'controller_name/get_recent_articles'
确保已加载
short_tag=On
在PHP.ini中检查这些