【发布时间】:2011-06-22 16:05:33
【问题描述】:
我通过 ajax 加载了一些包含 scandir() 函数的内容。在本地和我的服务器上它可以完美运行,但是在我的客户端服务器上它不起作用,因为它们运行 PHP4(scandir() 在版本 5 中实现)。我打电话给技术支持,他们的解决方案是将文件扩展名从 .php 更改为 .php5。但是,如果我直接调用页面,这只会部分起作用,但是当我通过 ajax 加载它时它不会。
有没有办法解决这个问题?我不知道 ajax 和 PHP 可能不兼容。
编辑
这是代码的一部分。只是一个图片库,我正在使用scandir() 来获取图片:
<div id="#vtabs-content-a">
<ul class="slider">
<?php
$featured_dir = 'img/systems/6020/';
$scan = scandir($featured_dir);
echo '<li id="' . $scan[2] . '"><img src="' . $featured_dir . $scan[2] . '" alt="' . $scan[2] . '" width="700" height="350" /></li>';
?>
</ul>
<ul class="thumb 6020a">
<?php
$dir = 'img/systems/6020/z_thumbs/';
$scan = scandir($dir);
for ($i = 0; $i<count($scan); $i++) {
if ($scan[$i] != '.' && $scan[$i] != '..') {
echo '<li><a href="#' . $featured_dir . $scan[$i] . '"><img src="' . $dir . $scan[$i] . '" alt="' . $scan[$i] . '" width="40" height="40" /></a></li>';
}
};
?>
</ul>
我实际上忘记在 ajax 调用中更改为 .php5,已经这样做了但仍然无法正常工作。还有一点就是直接调用页面的时候幻灯片是不行的,但至少图片是有的。
ajax 调用是这样的:
$(".a6020").live("click", function(){
$("#main").load("a6020.php5 #container", function(){
$('#vtabs5').jVertTabs();
$.getScript("js/scandir.js", function(){
});
});
});
【问题讨论】:
-
你需要展示一些代码。如果直接在浏览器中进行 Ajax 调用会发生什么?你得到什么返回值?
-
我想在你的 ajax 请求中你没有用 .php5 替换 .php