我没有看到 ajax 的最后一次调用

Posted

技术标签:

【中文标题】我没有看到 ajax 的最后一次调用【英文标题】:I dont see The last call of ajax 【发布时间】:2016-04-10 23:43:09 【问题描述】:

我正在使用 ajax 从我的数据库中打印日期。

问题是我没有看到我的数据库的最后一个元组。 因此,如果我的数据库中只有一个元组,我什至看不到这个(因为是最后一个)。

Ajax

$(function update ()  
      $.ajax(       
      type: "POST",
      url: '/includes/contenuto.php',                  //the script to call to get data  
      data:action:"show",   
      success: function(data)          //on recieve of reply
       
        $("#pinBoot").html(data);
      


        ).then(function()            // on completion, restart
       setTimeout(update, 5000);  // function refers to itself
    );
      );

PHP

<?php
include('../core.php');
$action=$_POST["action"];
if($action=="show")
$sql = mysql_query("")  or die ("Nessun errore");

$array = mysql_fetch_row($sql); 
    while ($row = mysql_fetch_array($sql))
    
        echo '
    <article class="white-panel">
        <h4><a href="#">'.$row ['titolo'].'</a></h4>
        <p>'.Markdown($row ['contenuto']).'</p>
      </article>
     ';
    


                   
?>

谢谢大家。

【问题讨论】:

为什么在循环行之前获取一行?尝试删除 $array = mysql_fetch_row($sql);从你的代码行。 我没有注意到。我没看见它。这是我旧代码的一部分。谢谢大家。 不要在循环之前执行mysql_fetch_array,因为它会在循环开始之前获取第一行 @wogsland 这样每次都是 TRUE 。是为了未来,如果我必须过滤一些东西。 @woody 是的。我删除了这个,现在可以工作了。 【参考方案1】:

在开始 while 循环之前,每次调用 $array = mysql_fetch_row($sql); 调用此函数时,您都会丢失一行。

<?php
include('../core.php');
$action=$_POST["action"];
if($action=="show")
    $sql = mysql_query("SELECT `id`, DATE_FORMAT(data,'%e %b %Y') AS 
                       `data`, AES_DECRYPT(unhex(contenuto),'PASSWORD') AS 'contenuto', 
                       `video`, aes_decrypt(unhex(titolo),'PASSWORD') AS 'titolo', 
                       `immagine` 
                       FROM `post` 
                       WHERE 1 
                       ORDER by id DESC")  or die ("Nessun errore");

    // READ AND IGNORE A ROW? WHY
    //$array = mysql_fetch_row($sql); 

    while ($row = mysql_fetch_array($sql))
    
        echo '
        <article class="white-panel">
            <h4><a href="#">'.$row ['titolo'].'</a></h4>
            <p>'.Markdown($row ['contenuto']).'</p>
        </article>';
    
                   
?>

【讨论】:

我没有注意到。我没看见它。这是我旧代码的一部分。谢谢大家。

以上是关于我没有看到 ajax 的最后一次调用的主要内容,如果未能解决你的问题,请参考以下文章

AJAX 请求触发两次,而成功调用一次

ajax多次请求,只执行最后一次的方法

手动加载更新数据表数据而不调用ajax

Powermock(使用 Easymock)没有最后一次调用模拟可用

Ajax 调用未返回

在 Spotify(Javascript)中进行 ajax 调用后没有保存 Cookie?