注意:未定义的索引ajax

Posted

技术标签:

【中文标题】注意:未定义的索引ajax【英文标题】:Notice: Undefined index ajax 【发布时间】:2015-07-29 00:48:28 【问题描述】:

所以我有一个有效的 zurb-foundation 模式,我还有一个 ajax 代码,它每 x 秒刷新一次 div。这是代码

index.php

<a class="th [radius]" href="view-comments.php?ilid=<?= $img['img_id']; ?>" data-reveal-id="viewCommentModal" data-reveal-ajax="true">View</a>

查看-cmets.php

    <script>
    $(document).ready(function(e) 
            setInterval(function() 
                $('#load-comments').load('load-comments.php');
            , 3000)
        );
    </script>
<body>
    <div id="load-comments"></div>
</body>
<a class="close-reveal-modal">&#215;</a>
</html>

加载-cmets.php

<?php
    require 'dbc.php';
    $stmt = $dbc->prepare("SELECT * FROM tbl_comments WHERE img_id=:imageid ORDER by c_id DESC");
    $stmt->bindValue(':imageid', $_GET['ilid']);
    $stmt->execute();
    foreach ($stmt as $data) 
        extract($data);
        echo "<b>$c_message</b>";
    
?>

我的问题是每次加载 load-cmets.php 时,都会显示错误Undefined index: ilid in D:\wamp\www\instalike\load-comments.php on line 4。我该如何解决这个问题?谢谢!

【问题讨论】:

是否启用了短标签?如果没有,请尝试将&lt;?= 更改为&lt;?php echo 是的,它已启用。我知道问题是加载的数据不知道从哪里获取 ilid 的值 【参考方案1】:

你可以用load()传递参数,你错过在这里传递ilid

如果你想将它传递为GET,你可以这样做

$(document).ready(function(e) 
       var ilid=25; //change ilid as per your need or move it to setInterval
       setInterval(function() 
             $('#load-comments').load('load-comments.php?ilid=ilid');  
         , 3000)
       );

//加载-cmets.php

<?php
    require 'dbc.php';

    if(isset($_GET['ilid']))
     $stmt = $dbc->prepare("SELECT * FROM tbl_comments WHERE img_id=:imageid ORDER by c_id DESC");
     $stmt->bindValue(':imageid', $_GET['ilid']);
     $stmt->execute();
     foreach ($stmt as $data) 
        extract($data);
        echo "<b>$c_message</b>";
     else
       echo 'Missing ilid';
      
    

?>

【讨论】:

@FewFlyBy,不客气。很高兴它对你有用,祝你好运:) 嘿,我可以有一个后续问题吗?所以在我的 setInterval(function() $('#load-cmets').load('load-cmets.php?ilid=ilid'); , 3000) 代码中,如何添加类似“加载消息”的消息...”在消息加载之前?谢谢 @FewFlyBy,在这种情况下,$.ajax 将是$.load() 的最佳选择,因为有了beforeSenderrordataFiltersuccesscomplete 选项所有接受在适当时间调用的回调函数。这将帮助您轻松设置消息,请参阅api.jquery.com/jQuery.ajax

以上是关于注意:未定义的索引ajax的主要内容,如果未能解决你的问题,请参考以下文章

ajax返回一个空请求(未定义的索引)[重复]

“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用 PHP

“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用 PHP

“注意:未定义的变量”、“注意:未定义的索引”、“警告:未定义的数组键”和“注意:未定义的偏移量”使用 PHP

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP

“注意:未定义的变量”、“注意:未定义的索引”和“注意:未定义的偏移量”使用 PHP