Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery.load()脚本中使用PHP变量?_Php_Jquery - Fatal编程技术网

如何在jQuery.load()脚本中使用PHP变量?

如何在jQuery.load()脚本中使用PHP变量?,php,jquery,Php,Jquery,我有一个带有.load()函数的jQuery脚本,该脚本保存在名为header.php的文件中: $(document).ready(function() { $('.my-wrapper').find(".wrapper-area").append('<div class="loadergif"></div>').load("file001.php?key=XXXXXX", function() { $(this).find('.wrapper-area

我有一个带有
.load()
函数的jQuery脚本,该脚本保存在名为
header.php的文件中:

$(document).ready(function() {
    $('.my-wrapper').find(".wrapper-area").append('<div class="loadergif"></div>').load("file001.php?key=XXXXXX", function() {
    $(this).find('.wrapper-area').remove('.loadergif');
    var $container = $('.list-wrap');

    $container.imagesLoaded( function(){
        $container.masonry({
        itemSelector : '.my-wrapper'
        });
    });
});
$(文档).ready(函数(){
$('.my wrapper').find(“.wrapper area”).append('').load(“file001.php?key=XXXXXX”,function(){
$(this).find('.wrapper area').remove('.loadergif');
var$container=$('.list wrap');
$container.imagesLoaded(函数(){
$container.com({
itemSelector:“.my wrapper”
});
});
});
另一方面,我在名为body.PHP的文件中有以下PHP变量:

while($row = mysql_fetch_array($result)){
    $Key = $row['key'];
    echo '<div class="wrapper-area">';
       //jQuery script will produce something here             
    echo '</div><!-- .wrapper-area -->';
}
while($row=mysql\u fetch\u array($result)){
$Key=$row['Key'];
回声';
//jQuery脚本将在这里生成一些东西
回声';
}
现在的问题是如何将PHP文件中的$Key变成jQuery脚本的XXXXXX部分:“
file001.PHP?Key=XXXXXX

请注意,$Key是从WHILE循环动态生成的。这意味着,它在每个循环周期都有不同的值


谢谢您的提问,您的问题不太清楚,但我认为您希望将载重线改为-

.load("file001.php", {key:XXXXXX}, function() {

您可以尝试以下方法来构建包装器:

while ($row = mysql_fetch_assoc($result))
{

  echo '<div class="wrapper-area" data-key="' . $row['key'] . '">';

  // ...

}
while($row=mysql\u fetch\u assoc($result))
{
回声';
// ...
}
对于jQuery,这是:

$(function()
{

  $('.my-wrapper').find('.wrapper_area').each(function()
  {

    $(this).append('<div class="loadergif"></div>').load('file001.php?key=' + $(this).attr('data-key'), function()
    {
      // ...
    }
    )

  }
  )

}
)
$(函数()
{
$('.my wrapper')。查找('.wrapper_area')。每个(函数()
{
$(this.append('').load('file001.php?key='+$(this.attr('data-key')),function()
{
// ...
}
)
}
)
}
)

在PHP中,替换以下行:

echo '<div class="wrapper-area">';
$('.my-wrapper').find(".wrapper-area").append('<div class="loadergif"></div>').load("file001.php?key=XXXXXX", function() {
echo';
对于这一个:

echo '<div class="wrapper-area" data-key="'.$Key.'">';
$('.my-wrapper').find(".wrapper-area").each(function() {
   $(this).append('<div class="loadergif"></div>').load("file001.php?key"+$(this).data('key'), function() {
    ...
    ...
}); //close the each() call
}); //close document.ready()
echo';

在jQuery中,替换以下行:

echo '<div class="wrapper-area">';
$('.my-wrapper').find(".wrapper-area").append('<div class="loadergif"></div>').load("file001.php?key=XXXXXX", function() {
$('.my wrapper').find(“.wrapper area”).append('').load(“file001.php?key=XXXXXX”,function(){
对于这一个:

echo '<div class="wrapper-area" data-key="'.$Key.'">';
$('.my-wrapper').find(".wrapper-area").each(function() {
   $(this).append('<div class="loadergif"></div>').load("file001.php?key"+$(this).data('key'), function() {
    ...
    ...
}); //close the each() call
}); //close document.ready()
$(“.my wrapper”).find(“.wrapper area”).each(函数(){
$(this.append('').load(“file001.php?key”+$(this.data('key')),function(){
...
...
});//关闭each()调用
});//关闭document.ready()

将该id添加为div的一个属性,然后您可以通过该属性从javascript访问它。我只想使.load部分变成这样:.load(“file001.php?key=$key”)哪个$key是由php生成的。当我尝试回显$\u GET['key]变量时,您的:+$(this.attr('data-key')的输出是'undefined'查看源代码。
.wrapper\u area divs
数据键
属性中有什么?我看到的动态数据键与WHILE循环中的预期完全一样。但我认为这里缺少了一些内容:.load('file001.php?key='+$(this.attr('data-key'),因此当我尝试获取变量时:$\u GET['key']我得到了“未定义”作为输出。我的意思是,我在每个div的WHILE循环中看到的动态数据键与我期望的完全一样。我从第一个循环中得到了完美的$key,但是第二个循环直到它的其余部分都与第一个循环中的$key相同。是的,它有一个bug,我用jquery代码的修复更新了我的答案,试试看。最后一个.load用于什么?这不是enoug吗h在第一部分使用just.load(“file001.php?key”+$(this.data('key')?它可以工作…!不需要这一行:。load(“file001.php?key=“+$('.my wrapper'))。find(.wrapper area”),,function(){是的,这一行是错误留下的。我很高兴这对您有用:-)