這個代碼為什麼有時顯示不出來剛才插入的內容?

來源:互聯網
上載者:User
有時提交後能顯示剛才插入的資料有時提交後顯示不出來剛才插入的資料 等再插入一條時就把剛才沒有顯示的一塊都顯示出來了 我試了很多次 沒有什麼規律 這是什麼原因呢 ajax的緩衝還是什嗎?怎麼解決呢?

提交頁面

prepare("select id,txt from ajax");$stmt->execute();$res=$stmt->fetchall(PDO::FETCH_ASSOC);foreach($res as $v){    echo $v['txt'];}?>                

插入頁面

prepare("insert into ajax(txt)values(?)");$stmt->execute(array($id));?>

回複內容:

有時提交後能顯示剛才插入的資料有時提交後顯示不出來剛才插入的資料 等再插入一條時就把剛才沒有顯示的一塊都顯示出來了 我試了很多次 沒有什麼規律 這是什麼原因呢 ajax的緩衝還是什嗎?怎麼解決呢?

提交頁面

prepare("select id,txt from ajax");$stmt->execute();$res=$stmt->fetchall(PDO::FETCH_ASSOC);foreach($res as $v){    echo $v['txt'];}?>                

插入頁面

prepare("insert into ajax(txt)values(?)");$stmt->execute(array($id));?>

謝邀!
可能問題有兩個
1、瀏覽器緩衝,防止緩衝的方式是window.location.reload(); 這一句改成location.href=當前頁面的URL + "?" + (new Date).getTime()

2、是本機伺服器,頁面的延時約等於資料庫更新的速度。
就是說,頁面重新整理時候的select執行的時候,insert的資料還不一定執行完。雖說是成功了,但是能select到還是有個延時的,雖然不大,但是頁面重新整理延時也不大,因此不一定會select到剛剛插入的資料。因此有時候會看到新插入的資料,有時候看不到。可以等個幾秒鐘再重新整理。
測試的方法就是“插入頁面”執行完insert之後,立即執行select看看輸出什麼。提交頁面可以改為

        

P.S.

foreach($res as $v){    echo $v['txt'];}

嚴格來說,這個輸出應該寫在BODY裡面

哈哈,我也遇難到了

是這個重新整理當前頁面的方法不對嗎

可以用節點調試一下,看看是哪裡出了錯誤。可以用exit的方法來停止後續代碼的執行來調試。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.