我想通过ajax调用catalog / layer / view.phtml文件。
代码中没有任何变化,一切都相同,但只想在ajax中调用view.phtml。
<reference name="left">
<block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/>
</reference>
我将使用以下jquery代码。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#showsearch").load("/app/design/frontend/default/mytheme/template/catalog/layer/test.phtml", function(response, status, xhr) { alert(response);
});
});
</script>
<div id="showsearch"></div>
我将jquery代码放在view.phtml中,但它返回404错误。
我做的事情是完全不可能的,还是可以通过其他方式完成?
答案 0 :(得分:0)
使用JavaScript,您只能在浏览器的地址栏中输入.load()
个网址(因为JS是客户端)。您不能以这种方式使用服务器的绝对文件路径。
要加载此文件,您基本上有以下选项:
DocumentRoot
上方(即最有可能是index.php
个文件的位置,通常是public_html
或www
)<?php include($yourAbsolutePath); ?>
由于您希望使用AJAX加载文件,因此您可以做的最好的事情是.load()
一个高于DocumentRoot
和include()
文件的PHP文件。< / p>
示例强>
DocumentRoot
(例如myFile.php)将以下myFile.php:
<?php include('/app/design/frontend/default/mytheme/template/catalog/layer/test.phtml'); ?>
将您的.load()
行更改为:
$("#showsearch").load("/myFile.php", function(response, status, xhr) { ...