台灣最大程式設計社群網站
線上人數
1091
 
會員總數:245232
討論主題:189102
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> AJAX新增完資料後的問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
AJAX新增完資料後的問題
價值 : 20 QP  點閱數:3017 回應數:11

樓主

城宮智
初學者
591 55
874 286
發送站內信

捐贈 VP 給 城宮智
請教各位大大..我用AJAX把資料新增至下拉式選單
選單是新增了,資料庫也有資料進去
可是我按了重新整理的話資料就變成還沒新增前的幾筆資料
請問這是哪裡的問題?

搜尋相關Tags的文章: [ ajax ] ,
本篇文章發表於2006-04-17 21:24
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

bestlong
捐贈 VP 給 bestlong 檢舉此回應
因為IE快取機制的問題
本篇文章回覆於2006-04-17 22:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

城宮智
捐贈 VP 給 城宮智 檢舉此回應
那有辦法解決嗎..我在用GMail都不會有這種問題
本篇文章回覆於2006-04-17 23:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

Jerry Lai
檢舉此回應
你在伺服器端用的技術是什麼?

可以在伺服器端送出不要快取的要求
就不會被瀏覽器cache住
本篇文章回覆於2006-04-18 01:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

城宮智
捐贈 VP 給 城宮智 檢舉此回應
我是用php在最上方加入
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
兩個header
不過似乎不會work...
我重新整理網頁資料又變回舊的..
本篇文章回覆於2006-04-18 16:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Bill
捐贈 VP 給 Bill 檢舉此回應
資料庫有若新增,重整後應該是會有最新的資料,可是這樣看來,好像資料庫沒有新增的資料!可以將你的程式碼秀出來嗎?
本篇文章回覆於2006-04-18 20:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

城宮智
捐贈 VP 給 城宮智 檢舉此回應
To Bill大大

我檢查過資料庫了,資料是有新增進去
但重新整理後抓到的還是未新增前的資料,感覺就像是cache住了
以下是我的source code

但我進入頁面時會call ininRightMenu來載入資料至下拉式選單
window.onload=iniRightMenu;

function iniRightMenu(){
var url="update.php"
ajaxAction="getvideolist";
httpRequest("GET",url,true);
}

在收到server端回傳的資料時會以下列function來新增至下拉式選單
var objt=null;
function showVideoList(resp){
objt=resp;
var objSelect=document.createElement("select");
objSelect.id="videolist";

for(var j=0;j<objt.length;j++){
var objOption = document.createElement("option");
objOption.value = objt[j].filename;
objOption.appendChild(document.createTextNode(objt[j].description));
objSelect.appendChild(objOption);
}
var divlist=document.getElementById("divlist");
optRemove(divlist);
divlist.appendChild(objSelect);
}
function optRemove(elObject){
if(elObject != null && elObject.hasChildNodes()){
for(var i = 0; i < elObject.childNodes.length; i++){
elObject.removeChild(elObject.firstChild);
}
}
}

看起來都都很正常..我用ajax新增資料時下拉式選單也會更新.

只是更新完後我按重新整理它就用變回原來的資料..但實際上資料庫是有新增這筆資料的
本篇文章回覆於2006-04-18 20:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

bestlong
捐贈 VP 給 bestlong 檢舉此回應
在 HTML 的 HEAD 段加入
<meta http-equiv="pragma" content="no-cache">
本篇文章回覆於2006-04-18 21:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
不錯的參考

bestlong
捐贈 VP 給 bestlong 檢舉此回應
另外一個方法就是將所讀取的 url 網址加一個流水碼變數讓每次讀取的網址都不同
本篇文章回覆於2006-04-18 21:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
最有價值解答

Bill
捐贈 VP 給 Bill 檢舉此回應
不知有解決了嗎?
本篇文章回覆於2006-04-25 21:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

城宮智
捐贈 VP 給 城宮智 檢舉此回應
To Bill大大

真不好意思..一忙忘了上來po

我最後有解決了..原因還是出在cache..

而之前我加了no chache的header加在不對的php檔
no chache應該是要加在我要用ajax連的php檔,而不是加在我每次都要進入的那隻php
所以我剛進入的第一隻php就把連過去ajax的php chache住了..
所以我重新整理後得到的下拉選單就是被chache住的ajax選單
本篇文章回覆於2006-04-27 11:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

大堯
檢舉此回應
請問我是用ASP寫的
要如何新增一筆完顯示在DIV裡的列表可以馬上更新呢?
本篇文章回覆於2011-01-18 18:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.