从jQuery到PHP的变量加载到一个div中,由echo写入

从jQuery到PHP的变量加载到一个div中,由echo写入,php,jquery,variables,Php,Jquery,Variables,我想通过单击照片库图标访问照片库,为此,我使用以下jQuery代码: <script type="text/javascript"> $(document).ready(function(){ $('.galbt a').on('click', function(e) { var gallery = $(this).parent().find("p").text(); //$("#section").load("gallery.

我想通过单击照片库图标访问照片库,为此,我使用以下jQuery代码:

<script type="text/javascript">
  $(document).ready(function(){
      $('.galbt a').on('click', function(e) {
          var gallery = $(this).parent().find("p").text();
          //$("#section").load("gallery.php"); // I tried puting this here
          $.ajax
          ({
              url: "gallery.php",
              type: "POST",
              data: { "galeria" : gallery },
              success: function(){$("#section").load("gallery.php");} // or here
          })              
      });
  });
</script>

$(文档).ready(函数(){
$('.galbt a')。在('click',函数(e)上{
var gallery=$(this.parent().find(“p”).text();
//$(“#section”).load(“gallery.php”);//我试着把这个放在这里
$.ajax
({
url:“gallery.php”,
类型:“POST”,
资料:{“galeria”:图库},
成功:function(){$(“#section”).load(“gallery.php”)}//或此处
})              
});
});
php文件采用galery名称,扫描目录并通过回显来构建一个模式转盘。 PHP页面加载但不显示任何内容(我的意思是它显示一个不依赖于变量的小html部分,但不显示需要显示变量的部分)。我尝试先加载它,然后发布变量,或者先发布变量,然后加载它,但没有看到任何变化

我还有一个问题是。。。如果我将扩展名更改为html或php,有什么区别吗?因为php文件有一个组合的代码,我尝试将其作为两者加载,就像php或HTML一样,结果是相同的(没有显示任何内容)


谢谢。

您缺少ajax函数(数据)的返回部分。。试试这个

$.ajax ({
       url: "gallery.php",
       type: "POST",
       data: { "galeria" : gallery },
       success: function(data) {
          $("#section").load(data);
       }
});
.load()方法是您正在执行的另一个ajax调用,它不依赖于ajax调用参数。如果希望基于参数输出,可以尝试以下代码:

 $.ajax ({
   url: "gallery.php",
   type: "POST",
   data: { "galeria" : gallery },
   success: function(data) {
      $("#section").html(data);
   }
 });
1)您正在使用ajax内部的ajax(加载),这不是问题,但在您的情况下,您不需要

2)您的
$(“#节”).load(“gallery.php”)
根本不使用您在外部ajax中传递的键

第一个选项:

使用
success
gallery.php的
output(echo)

 $.ajax
          ({
              url: "gallery.php",
              type: "POST",
              data: { "galeria" : gallery },
              success: function(data){
                         $("#section").html(data);//html content returned from gallery.php
                      } 
          })   
或第二选项:

$('.galbt a').on('click', function(e) {
          var gallery = $(this).parent().find("p").text();
         $("#section").load("gallery.php?galeria="+gallery);//use key with $_GET and process.
      });      

发布PHP代码。AJAX请求是否显示一个500?另外,一个
.html
不会服务于
PHP
,它只会输出未经处理的PHP(除非您修改了处理程序)。ajax调用的响应是什么?我认为您的变量没有在
load
的gallery.PHP中使用,因为这两个调用都是独立的。只需像这样使用load:
$(“#section”).load(“gallery.php?galeria=“+gallery”)
没有外部ajax。谢谢!第一个选项起作用了,我在使用搜索时看到了第二个选项,现在又看到了第二个选项,第二个选项页面不加载,也不加载html部分不依赖于变量,我猜第二个选项尝试加载文件库。php?galeria=但它找不到,所以不要显示任何内容不用客气。谢谢!当我获得超过15票的选票时,我会再次通过这里:)