[問題] .getJSON放在jquery.submit裡不會被執行

看板Ajax作者 (鋼鐵筋肉人)時間10年前 (2013/10/01 21:52), 編輯推噓1(1027)
留言28則, 5人參與, 最新討論串1/1
我想在使用者上傳圖片時顯示上傳的進度 但是getJSON的request在chrome底下不會執行 在firefox裡卻是正常的 感覺是在chrome底下submit後其他的request都被擋住了 $(function() { // do something ... $("#upload").submit(function(){ // do something ... // Update progress bar function update_progress_info() { $.getJSON("/upload_progress/", {'X-Progress-ID': uuid}, function(data) { // update progress ... } }); }; setInterval(update_progress_info, 1000); }); }); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.210.53

10/01 22:15, , 1F
submit 後沒把 event 停掉不是會直接送出嘛...0.0?
10/01 22:15, 1F

10/01 22:25, , 2F
sorry 我是新手,code是用網路上的範例改的
10/01 22:25, 2F

10/01 22:26, , 3F
所以是說submit後的其他request都會被擋住嗎???
10/01 22:26, 3F

10/01 22:27, , 4F
可是在firefox底下getJSON卻可以正常被執行
10/01 22:27, 4F

10/01 22:28, , 5F
因為沒看到完整的code其實不確定你寫的是怎樣
10/01 22:28, 5F

10/01 22:29, , 6F
不過先看官網範例試試看吧 http://api.jquery.com/submit/
10/01 22:29, 6F

10/01 22:36, , 7F
有看過官方文件但是裡面似乎沒有提到在submit裡加入
10/01 22:36, 7F

10/01 22:37, , 8F
ajax request,我是參考這個範例寫出來的
10/01 22:37, 8F

10/01 22:39, , 9F
10/01 22:39, 9F

10/02 12:46, , 10F
在 setInterval 後面加個 event.preventDefault(); 看看
10/02 12:46, 10F

10/02 15:11, , 11F
用preventDefault原本的submit就會取消
10/02 15:11, 11F

10/02 15:12, , 12F
但是我需要submit被執行
10/02 15:12, 12F

10/02 18:51, , 13F
當submit之後就代表切換頁面了 瀏覽器本來就沒理由
10/02 18:51, 13F

10/02 18:51, , 14F
要繼續做事 要顯示進度的話 正規作法用XHR2來上傳
10/02 18:51, 14F

10/02 18:52, , 15F
不然就內嵌一個iframe去上傳
10/02 18:52, 15F

10/02 18:53, , 16F
不過IE10才開始支援 所以iframe至少也是fallback...
10/02 18:53, 16F

10/02 18:54, , 17F
^ XHR2
10/02 18:54, 17F

10/02 21:51, , 18F
謝謝 我去研究一下XHR2
10/02 21:51, 18F

10/02 22:12, , 19F
不要直接submit出去 等progress bar完再trigger呢?
10/02 22:12, 19F

10/03 00:41, , 20F
那也做不到真正的progress bar啊 頂多寫uploading
10/03 00:41, 20F

10/03 00:43, , 21F
要用XHR2可以 不過iframe的fallback也要做
10/03 00:43, 21F

10/03 00:43, , 22F
除非直接把IE6-9全都拒絕 那就沒差
10/03 00:43, 22F

10/03 10:37, , 23F
在事件裡面set timer 後端寫成服務 等到上傳100%了
10/03 10:37, 23F

10/03 10:37, , 24F
再trigger submit?
10/03 10:37, 24F

10/03 12:12, , 25F
都還沒submit出去怎有進度啦XD 不然就連submit都
10/03 12:12, 25F

10/03 12:12, , 26F
不需要用到了啦www
10/03 12:12, 26F

10/03 18:37, , 27F
其實看不是很懂原本的需求
10/03 18:37, 27F

10/03 18:38, , 28F
不然submit target 到另一 iframe 等 submit 完再手動切換?
10/03 18:38, 28F
文章代碼(AID): #1IIjEgao (Ajax)