我有一个新闻页面,根据点击菜单中的哪个类别动态加载帖子。这是通过Javascript / AJAX完成的。该网站是多语言,我使用WPML在语言之间切换。这在网站上的每个地方都可以正常工作,但是一旦我尝试通过AJAX专门回应来自其他语言的帖子,它就不起作用。
即使类别ID正确,它也绝对不显示。
我在AJAX中使用的代码如下;
query_posts( array('posts_per_page' => $posts, 'paged' => 1, 'category__in' => $selectedCategory, 'lang' => $curLang));
现在我已经测试了当前的语言是否没有被正确解析,但即使静态放入'en'也没有改变一件事,它仍然不会通过Ajax回应英文帖子。但是代码在普通的旧PHP文件中运行良好。
我用来填充传递给AJAX的变量的javascript如下:
var load_posts = function(postMax, category){
$.ajax({
type : "POST",
dataType : "html",
url : siteurl + "ajax/?postMax="+postMax+"&numPosts=6&pageNumber="+page+"&category="+category+"currentLang="+curLang,
beforeSend : function(){
},
success : function(data){
if(page <= 6){
content.empty();
content.append(data);
$('.more-link').each(function(){
var tempLink = $(this).attr('href');
$(this).parent().parent().parent().parent().children('a').attr('href', tempLink);
});
loading = false;
if(page === 3){
$('#nieuwsContent').css("padding-top", "10px");
}
page++;
}
},
error : function(jqXHR, textStatus, errorThrown) {
alert(jqXHR + " :: " + textStatus + " :: " + errorThrown);
}
});
};
我完全不知道应该做些什么来解决这个问题。
答案 0 :(得分:0)
问题可能出在AJAX请求的呈现URL中吗?看起来它错过了&#39;&amp;&#39; &#39; currentLang&#39;之前的符号字段。
例如&#39;&amp; category =&#34; + category +&#34; currentLang =&#34; + curLang&#39;,应该是&#39;&amp; category =&#34; +类别+&#34;&安培; currentLang =&#34 + curLang&#39;