迴圈ajax頻繁請求資料庫,出現問題?
1樓:七七八八
如果這些update不必須在同一事務中,可以將其批量傳入後臺同意操作。
我看了上面的描述,主要問題應該是每次操作都要連線盒斷開一次資料庫這個操作上耗時太多。簡易使用連線池。
for迴圈ajax帶來的問題。這裡使用的是jquery封裝的ajax。ajax設定了同步,當快速執行ajax會出問題
2樓:網友
首先你的這個實現邏輯就有問題,怎麼可能會想到用for 去做n次ajax提交呢,你得知道你現在上面寫的這種ajax提交方式為非同步方式,何為非同步,就是當ajax請求發出後當前邏輯就認為你的這次請求完成了,當前邏輯會繼續往下執行而不會去管你的這個ajax請求是否執行完併成功返回的,如你for了10次,那麼for只會管執行10個ajax提交,因為ajax是非同步方式,所以你在for裡面無法控制你的這10次ajax是否都正常的執行並返回的,這10次ajax提交的返回是無序的。所以一般都不會用這樣的邏輯來處理問題,如果實在非得要用這種邏輯,那麼得將ajax請求方式改成同步方式,即將async:false 改成 async:
true,這樣就可能如你的預期,乙個ajax執行完正常返回後才行下乙個ajax,哦,那是我記錯咯,如果你實在要用這種實現邏輯的話,我倒建議你不要這麼寫,類似下面這種寫法應該好處理些的:
for (var i=0; i<9; i++)responsetext +')');
alert(post_retn);}
3樓:網友
for迴圈執行速度太快了,ajax的請求和返回資料以及處理需要時間的。
建議換成定時執行,定義乙個全域性變數,然後每執行一次,變數就加1,直到9為止,然後清除定時器。
4樓:網友
error函式可以列印出錯誤原因、**之類的資訊吧。
請教js迴圈中執行ajax返回資料問題
5樓:網友
你如果是在迴圈中放了ajax**,那可能是非同步的問題,當ajax請求出去的時候,如果還沒有返回**是會繼續往下面執行的,也就說第一次ajax還沒有成功返回結果就進入了第二次迴圈,可能是這的問題,如果不是請貼圖;
把ajax該為同步,加上引數 async: false即可。
在使用ajax技術無重新整理檢測使用者名稱是否存在的時候如何防止頻繁的請求資料庫伺服器
6樓:網友
通常都是失去焦點進行判斷啊。也可以提交申請的時候驗證,不過那樣使用者體驗就如同不用ajax一樣。
頁面多次傳送ajax的問題,如何不再次傳送請求,獲取之前得到的資料
7樓:森林的沉睡
判斷麻煩的標準是啥?
假定用的jquery;
要是之後不需要用到ajax返回的資料, 導航欄點選的事件繫結用one而不是bind或者on;
如果之後還需要用到ajax返回的資料, 就快取, 快取可以是服務端快取類似redius或其他, 也可以是客戶端快取如放到個全域性變數, 如果嫌變數太多, 可以將資料綁到dom上, 如$"key", ajaxdata); 之後再用$"key")取出;
以目前功力能想到的就醬。
jquery ajax巢狀迴圈,將資料顯示到頁面,但是迴圈次數對,每次都顯示同一條資料, **:
8樓:網友
1、用firefox 加firebug外掛程式檢視一下每次迴圈的data:,是不是不同;
如果不同。2、看一下服務端返回值是否相同,如果相同則問題出在伺服器端。
9樓:網友
變數作用域汙染。每次迴圈的i變數被公用了,所以到最後取出來的變數都是最後乙個i的值。
第乙個ajax success裡面的改成這樣應該就可以了var json=eval("("+data+")");//轉化為json格式。
each(json,function(i,data),cache:false,success:function(data)if(data!="false" &&data!="same")}}
整體上就是這個思路,應該可以解決問題了。
如果還有問題請追問,或者加我的hi諮詢。
ps:確實如tz6060996所說,在迴圈裡面再去ajax確實會對伺服器造成很大壓力。建議優化一下。
ajax請求到的資料,用$.each迴圈新增到dom中,為什麼資料需要重新整理才能顯示出來,怎樣才能直接顯示?
10樓:店小二的梨
重新整理才顯示那是頁面接收到的資料已經變了,和 ajax 沒關係。
區域性重新整理就是通過 ajax 拿到最新資料後,通過 js 把資料顯示。
你這裡沒顯示的問題一步一步找 bug 出在**:
**是否有問題,看console
變數拼裝後是否有問題,輸出 fragment 看看如果還沒找到問題,那看看是否 css 的問題造成。
無法開啟登入所請求的資料庫 CVITBOOKSHOP 。登入失敗。 使用者 PC 201110152008 Administrator 登入失敗
我也不知道什麼原因,不過你可以試一下把連線字串裡的data source sqlexpress改成data source 或data source local 或data source localhost這三個中的乙個,如果還不行就把integrated security true也改成integ...
用jsp連線mysql資料庫,出現中文亂碼,該怎麼解決啊
你的表單提交到的頁面裡要轉碼。假如是在jsp頁面裡或servlet裡接收表單的資料,你要寫2行 request.setcharacterencoding utf 8 response.setcontenttype text html charset utf 8 我用的是utf 8,你用什麼編碼就寫什...
MySQL資料庫出現這個問題該怎麼解決
重新設定一下mysql的登入密碼就可以了。這個是提示賬號密碼錯了吧,你的密碼是yes嗎,把密碼改成root試下 mysql資料庫出現問題怎麼辦?資料庫出現問題,首要的是儘快備份資料庫,如果資料庫損壞的話,找出最近日期的資料備份。確認有資料庫備份後,根據資料庫錯誤的提示,一步一步地解決的,如果不是資料...