我經(jīng)常碰見(jiàn)這樣的問(wèn)題 我想用JS執(zhí)行后臺(tái)方法,為什么有時(shí)候執(zhí)行,有時(shí)候不執(zhí)行 代碼如下: var request; HTML code
function createRequest() { try { request = new XMLHttpRequest(); } catch (trymicrosoft) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (othermicrosoft) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = false; } } } if (!request) alert("Error initializing XMLHttpRequest!"); } createRequest(); var requesturl = ' <%=request.getContextPath()%>/trainplan/addLeafNode.shtml?objectivename='+document.all.objectivename.value+'&objectivecontent='+document.all.objectivecontent.value+"&paterid="+paterid; request.open("GET", requesturl, true); request.onreadystatechange = openResponse; 按道理說(shuō),AJAX應(yīng)該執(zhí)行 <%=request.getContextPath()%>/trainplan/addLeafNode.shtml 地址后臺(tái)里面的方法 因?yàn)槲依锩嬗行薷臄?shù)據(jù)庫(kù)的操作 但有時(shí)候添加數(shù)據(jù)庫(kù)記錄,有時(shí)候不添加數(shù)據(jù)庫(kù)記錄,到底怎么解決,我只想搞明白,沒(méi)別的意思 那位大大能解釋一下 我后臺(tái)代碼肯定沒(méi)問(wèn)題,如果我是正常提交,然后頁(yè)面刷新的話,是正確的
1樓 2004-01-01 00:00 IamHades? [引用] [回復(fù)]?
?
這是get方式提交時(shí)的緩存問(wèn)題,說(shuō)到底是ie惹的禍,你加一句 request.setRequestHeader("If-Modified-Since","0"); 在request.open("GET", requesturl, true); 前就可以了?
?
?
?2樓 2004-01-01 00:00 junjunweiwei? [引用] [回復(fù)]?
?
引用 1 樓 IamHades 的回復(fù): 這是get方式提交時(shí)的緩存問(wèn)題,說(shuō)到底是ie惹的禍,你加一句 request.setRequestHeader("If-Modified-Since","0"); 在request.open("GET", requesturl, true); 前就可以了 謝謝,我還想問(wèn)下如果有post方式提交呢??
?
?
?3樓 2004-01-01 00:00 showbo? [引用] [回復(fù)]?
?
post提交不存在緩存問(wèn)題?
?
?
?4樓 2004-01-01 00:00 lanxiaoshi? [引用] [回復(fù)]?
?
再加一個(gè)隨機(jī)數(shù) a.jsp?temp=new Date().getTime()?
?
?
?5樓 2004-01-01 00:00 only_endure? [引用] [回復(fù)]?
?
request.setRequestHeader("cache-control","nocache");?
?
?
?6樓 2004-01-01 00:00 Imore? [引用] [回復(fù)]?
?
長(zhǎng)了見(jiàn)識(shí)了 謝謝啊 我想再問(wèn)一下 request.setRequestHeader("If-Modified-Since","0"); 和 request.setRequestHeader("cache-control","nocache"); 區(qū)別是什么呢 另外我在使用request.setRequestHeader("If-Modified-Since","0"); 時(shí)候會(huì)報(bào)錯(cuò)執(zhí)行不下去 求教問(wèn)題所在?
?
?
?7樓 2004-01-01 00:00 only_endure? [引用] [回復(fù)]?
?
你只要明白你在ajax操作提交異步請(qǐng)求時(shí),如果你設(shè)置了服務(wù)器端頁(yè)面緩存,則請(qǐng)求的內(nèi)容是“未更新的”,所以給你的表象是用戶觀看的頁(yè)面不變。 還有另一種方法解決這一問(wèn)題,就是你在request.open("GET", requesturl, true)中修改requesturl的內(nèi)容(增加參數(shù),時(shí)間戳即可)這樣的目的就是在服務(wù)器端理解為新的請(qǐng)求,不會(huì)將緩存中的內(nèi)容回傳過(guò)去.更新內(nèi)容就會(huì)顯示在客戶端頁(yè)面了.??
?