Re: [問題] 大量request下IE少傳參數
剛剛用IEinspector看,ie送出的post跟firefox一樣並沒有少參數,所以ie並沒有
漏傳參數
但是還是會產生server side的exception如下
java.lang.IllegalStateException:
No modifications are allowed to a locked ParameterMap
google的結果是說,ParameterMap在servlet中已經鎖定,所以無法變更ParameterMap
的內容
我想tomcat應該沒問題,因為firefox跟ie都送同樣的request到server,但是firefox
可以正常處理,但是ie不行,所以還是把問題放在ie上
我猜應該是ie在送ajax request時,還沒等到server response json object時
就再次送出下個request,導致server丟出exception,同時server產生exception
也無法再處理之後的request,最後就收不到回傳的json
但是只要把ajax request用setTimeout分別隔開ie就可以正確的處理
像這樣
setTimeout('$("#grid-1").flexReload();',1000);
setTimeout('$("#grid-2").flexReload();',2000);
setTimeout('$("#grid-3").flexReload();',3000);
setTimeout('$("#grid-4").flexReload();',4000);
setTimeout('$("#grid-5").flexReload();',5000);
將五個ajax request分別隔開一秒就可以避免這個問題產生
雖然說~這樣可以解決問題~不過一定要用這種方法嗎?
我的環境是
ie6,ie8,firefox 3.5,chrome 5.0
tomcat6.0.26
jdk 1.6
jquery 1.4.2
※ 引述《plokijuh (瘋人院院長)》之銘言:
: 因為工作是撰寫web base系統,所以一個頁面用到許多的datagrid
: 目前是用 jquery + flexgrid
: 每個grid都用ajax到server拿資料
: 在firefox,chrome下都是正常,不過ie就有問題
: ie在傳參數到server時常常會漏掉參數,導致回來的資料不正確
: 例如
: 正常情況應該是要傳
: page=1
: limit=100
: user=123
: ....
: 大約10個參數,用post的方式傳到server
: firefox,chrome下都是正常,只有ie會漏傳參數,試過ie6, ie8都一樣
: 目前是用settimeout讓ajax request慢一點
: 這樣ie就不會漏參數,不知道這是ie的問題,還是說是另外的問題
: jquery 試過 1.3 跟 1.4 都一樣
: 不知道為何為這樣?
--
my blog
http://blog.cheyingwu.tw/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.80.207.190
※ 編輯: plokijuh 來自: 115.80.207.190 (03/15 22:16)
→
03/15 23:16, , 1F
03/15 23:16, 1F
→
03/15 23:16, , 2F
03/15 23:16, 2F
→
03/15 23:18, , 3F
03/15 23:18, 3F
→
03/15 23:19, , 4F
03/15 23:19, 4F
推
03/15 23:50, , 5F
03/15 23:50, 5F
→
03/16 00:23, , 6F
03/16 00:23, 6F
→
03/16 00:25, , 7F
03/16 00:25, 7F
→
03/16 19:49, , 8F
03/16 19:49, 8F
推
04/20 02:56, , 9F
04/20 02:56, 9F
→
04/20 02:57, , 10F
04/20 02:57, 10F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章