Php返回值

时间:2011-06-14 03:28:33

标签: php jquery ajax

编辑:在此结尾处查看解决方案

我是php,ajax等所有新手:)

我的问题是:有没有办法让php文件返回一个值?

我有:

  1. 一个文件“loadImages.php”,其中包含从数据库中获取图像路径的脚本。
  2. 我想通过ajax加载图片的图片库。
  3. 包含图像路径的数据库(/images/image1.jpg,/images/image2.jpg)。
  4. 4类图像。
  5. 我要做的是:

    当点击一个链接(例如,第一个类别)时,我想通过jquery的ajax(),loadImages.php调用通过POST传递的类别(cat0,cat1,cat2,...)

    我想从这个php文件中返回值,例如:<img src="image/image1.jpg" />,所以通过javascript,我可以检索这个字符串。当我将return函数放入变量而不是字符串XMLHttpRequest时,我的php文件中仅使用ajax()会返回<img>

    有办法吗?或者更好的方式,因为我不完全理解ajax。

    谢谢!抱歉我的语法不好。

    下面是我正在尝试做的更精确的地图。

    JavaScript的:

    var test = $.ajax({  
    type: "POST",  
        url: "loadImages12.php",  
        data: "category=0",  
        complete: function() {  
            alert("COMPLETE");  
        },  
        error: function (){  
            alert("NOT LOADED");  
        }  
    });
    

    PHP(loadImages.php)

    function createThumb() { 
            if(isset($_POST['category'])) {  
                $imageQuery = mysql_query("SELECT * FROM t_pictures WHERE p_category = 0");
                $thumbHtml = '';
    
                while ($tempImageQueryFetch = mysql_fetch_assoc($imageQuery)){
                    $thumbHtml .= '<a href="#" class="thumbnail"><img src="ressources/images/' . $tempImageQueryFetch["p_fileName"] . 'Small.jpg" /></a>';
                }
    
            return $thumbHtml;
            }
            else {
                $noCategory = "NO CATEGORY TEST";
                return $noCategory ;
            }
        }
    
        createThumb();
    

    解决

    • Php文件

      function createThumb(){
      // Mysql请求
      $ someVar = //请求结果
      返回$ someVar
      }

      echo createThumb()

    • Javascript

      $(“#someDiv”)。load(“loadImages.php”,{category:0});

3 个答案:

答案 0 :(得分:5)

对PHP的AJAX请求与网站的正常请求完全相同。您从example.com/foo/bar请求数据,作为回报,您收到文字。 PHP的return语句与返回给客户端的内容无关。只有您echo或其他输出的内容才会被客户收到。对于普通页面和AJAX请求,情况也是如此。

因此,要将<img src="image/image1.jpg" />“返回”到您的Javascript AJAX调用,echo PHP中的该字符串。

答案 1 :(得分:2)

如果你想使用你已经拥有的php文件(loadImages.php),只需回显函数的结果:

echo createThumb();

答案 2 :(得分:0)

只需让php脚本返回缩略图的路径。

然后在js中执行类似的操作

somediv.html('<a href="#" class="thumbnail"><img src="">');

并且只使用php文件返回的路径为img src ..