Ajax 请求返回代码而不是呈现代码 html
Ajax request is returning code instead of rendered html
我正在 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 %}
如果我在浏览器中手动访问 ajax.twig?color=red
,我会看到呈现的结果。但是,Ajax 请求返回的是上面显示的代码,而不是呈现的 HTML 结果。我试过使用 .load() 和 .get() 并得到了相同的结果。
有谁知道我做错了什么?提前致谢。
ajax 文件的路径错误。我把它当作:
$.ajax("templates/ajax?search=" + value, {
什么时候应该
$.ajax("ajax?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 %}
如果我在浏览器中手动访问 ajax.twig?color=red
,我会看到呈现的结果。但是,Ajax 请求返回的是上面显示的代码,而不是呈现的 HTML 结果。我试过使用 .load() 和 .get() 并得到了相同的结果。
有谁知道我做错了什么?提前致谢。
ajax 文件的路径错误。我把它当作:
$.ajax("templates/ajax?search=" + value, {
什么时候应该
$.ajax("ajax?search=" + value, {