在 AJAX 中调用 PHTML 文件
call phtml file in ajax
我想通过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错误。
我是在做一些完全不可能的事情,还是可以用其他方式完成?
使用 JavaScript,您只能.load()
通常在浏览器地址栏中键入的 URL(因为 JS 是客户端)。您不能以这种方式使用服务器的绝对文件路径。
要加载此文件,您基本上有以下选项:
- 将文件放在服务器
DocumentRoot
上方(即最有可能index.php
文件所在的位置,通常是public_html
或www
) - 使用 PHP:
<?php include($yourAbsolutePath); ?>
包含它
由于您想使用 AJAX 加载文件,因此您可以做的最好的事情是.load()
一个高于DocumentRoot
的 PHP 文件,并从那里include()
该文件。
例
- 在
DocumentRoot
中创建.php文件(例如 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) { ...
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何将 phtml/php 文件中的变量传递给 js 文件
- 在 AJAX 中调用 PHTML 文件
- ZF2 从 phtml 文件重定向
- 从 phtml 文件访问 Javascript 命名空间
- Eclipse-突出显示.phtml文件中的javascript
- Magento:如何在畅销书中创建鼠标悬停图像.phtml文件