使用JQuery .ajax()调用PHP函数

时间:2010-12-01 03:31:37

标签: php jquery ajax

我正在尝试使用PHP函数来读取图像的服务器目录。然后需要使用.ajax()将图像传递回JQuery以用于幻灯片放映。我正在使用PHP函数,希望简化为我的用户添加/删除图像。基本上,他们所要做的就是在目录中添加或删除图像以修改幻灯片,而不是编辑任何代码。

我正在努力让JQuery函数返回我期待的内容。自从我完成PHP以来已经有一段时间了,所以我可能会忽视某人。这是我的PHP代码:

<?php
    $path = "./";
while (false !== ($file = readdir($handle)))
    {
        if ($file != '.' && $file != '..')
            echo "<img src=\"" . $path.$file. " alt=\"" . $file . "\>";
        {
    }
?>

这是我的readImages JQuery函数:

function readImages() {
    $.ajax({
        type: "POST",
        url: "getimages.php",
        dataType: "html",
        success: function(imagepath){
            $(".slideshow").html(imagepath);
            }
    });

}

我要做的是让PHP返回一个HTML格式的标签,并添加文件名。然后,JQuery将返回的标记添加到HTML代码中。

到目前为止......所有它的回归都是“; {}?&gt;

关于我做错了什么的想法?

3 个答案:

答案 0 :(得分:3)

你的if()结构被破坏了。缺少一个开头和结尾的大括号。

答案 1 :(得分:0)

既然你说它正在归还......

“; {}?&gt;

我的第一个猜测是你在关闭PHP时出现语法错误。可能缺少引用?

其余部分看似正确。

答案 2 :(得分:0)

主要问题是Rob Olmos指出的结构是否破裂。但是如果你使用的是php 5,我也会切换到目录迭代器而不是readfile

<?php
    $path = "./";
    $dir = new DirectoryIterator(realpath($path));
    $img = '<img src="%s" alt="%s" />';

    foreach($dir as $file){
      if(!$dir->isDot() && 0 !== strpos('.', $file->getFilename()) && !$file->isDir()){
        $filepath = $path . $file->getFilename();
        echo sprintf($img, $filepath, $filepath);
      }
    }
?>