Jquery Ajax请求返回的是代码,而不是呈现的html
我正在用CraftCMS构建一个站点,但我认为我的问题更多地针对Ajax/Javascript,而不是Craft 我有一些复选框,单击时,我尝试使用Ajax将复选框值作为查询字符串传递到单独的页面,并将呈现的结果附加到当前页面 我的Ajax如下所示:Jquery Ajax请求返回的是代码,而不是呈现的html,jquery,ajax,craftcms,Jquery,Ajax,Craftcms,我正在用CraftCMS构建一个站点,但我认为我的问题更多地针对Ajax/Javascript,而不是Craft 我有一些复选框,单击时,我尝试使用Ajax将复选框值作为查询字符串传递到单独的页面,并将呈现的结果附加到当前页面 我的Ajax如下所示: $('#filters input').change(function() { var value = $(this).val(); $.ajax("ajax.twig?search=" + value, {
$('#filters input').change(function() {
var value = $(this).val();
$.ajax("ajax.twig?search=" + value, {
type: 'get',
dataType: 'html',
success : function(html) {
$("#ajaxresults").html(html)
},
error: function() {
alert("Error");
}
});
});
我试图用Ajax调用的页面如下所示。它接受查询字符串并使用该字符串执行查询和显示结果
{% set searchTerm = craft.request.getParam('search') %}
{% set galleries = craft.entries.section("gallery").colors(searchTerm) %}
{% if galleries|length %}
<div class="gallery">
<ul>
{% for gallery in galleries.all() %}
<li>
<img src="{{ gallery.image[0].url }}" alt="" />
<h2>{{ gallery.title }}</h2>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
{%set searchTerm=craft.request.getParam('search')%}
{%set galleries=craft.entries.section(“gallery”).colors(searchTerm)%}
{%if库|长度%}
{%用于库中的库。all()%}
-
{{gallery.title}
{%endfor%}
{%endif%}
如果我在浏览器中手动访问ajax.twig?color=red,我会看到渲染结果。但是,Ajax请求返回的是上面显示的代码,而不是呈现的HTML结果。我尝试过使用.load()和.get()并得到了相同的结果
有人知道我做错了什么吗?提前感谢。指向ajax文件的路径错误。我把它当作:
$.ajax("templates/ajax?search=" + value, {
应该是什么时候
$.ajax("ajax?search=" + value, {