Jquery Ajax请求返回的是代码,而不是呈现的html

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, {

我正在用CraftCMS构建一个站点,但我认为我的问题更多地针对Ajax/Javascript,而不是Craft

我有一些复选框,单击时,我尝试使用Ajax将复选框值作为查询字符串传递到单独的页面,并将呈现的结果附加到当前页面

我的Ajax如下所示:

$('#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, {