2010-12-22 63 views
1

我已經添加了一個鉤子來表單提交事件(表單上還有其他事件提交) 並需要使用createlement(腳本)向另一個域上的服務器報告提交。 。如何等待表單上的異步操作onsumbit

如何讓submit函數等待以確保createlement(腳本)已成功訪問服務器?

+1

你能發表一些代碼嗎? – dheerosaur 2010-12-22 12:30:35

回答

0

一個不太好的解決方案是使用時間間隔來檢查腳本是否已經對服務器進行了檢查(檢查響應)。爲此使用setInterval

+0

但我如何讓我的onsubmit函數等待呢? – Nir 2010-12-22 12:20:59

+0

你的要求是什麼回報? – Thariama 2010-12-22 12:37:09

1

嘗試使用JavaScript 事件。您可以註冊某個事件發生時要調用的任何函數。要麼使用一些predefined events來表示您的代碼完成或使用某些Yahoo!庫創建custom events這可能代表完成服務器請求(找到最後一個與谷歌搜索,但看起來很有前途)。我希望JS有一個內置的自定義事件架構,但顯然它沒有。因此,您需要使用像Yahoo!這樣的外部庫。事情。也許這在不久的將來會發生變化。這是我的知識。但是我可以肯定地推薦使用事件,因爲它們完全解決了你所描述的問題。

(或者像Thariama描述你能做到忙等待要麼與睡眠週期或不是一般的忙等待氣餒如果可能的話。)

插圖:

<script> 
// register function b() for custom event 

function a() { 
    //upload 
    // (takes time... but no busy wait) 

    //fire custom event 
} 

function b() { 
    //do some other code 
} 
</script> 

<body> 

<form onsubmit="a()"> 
</form> 

</body> 
+0

這不回答我的問題。我知道什麼是事件。如果你閱讀我的問題,你會發現我確實發現了表單提交事件。 +我知道

  • 11. 等待異步操作完成
  • 12. 等待節點異步操作
  • 13. 等待異步操作完成android
  • 14. python gio等待異步操作完成
  • 15. C#等待異步操作完成
  • 16. ReactNative AsyncStorage結合異步/等待。 setItem操作需要「等待」嗎?
  • 17. 如何確定作業異步/等待
  • 18. 異步等待不等待
  • 19. 的HttpClient至獲取列表使用異步/等待操作
  • 20. 如何讓MainThread等待一些異步操作完成?
  • 21. 如何等待多個異步操作完成
  • 22. 如何等待某些操作完成時調用異步API
  • 23. 異步,異步等待
  • 24. RxJS:等待異步操作列表完成
  • 25. 該 '等待' 操作符只能異步lambda表達式錯誤
  • 26. NodeJs - 異步/待機異步/等待
  • 27. 使表單元素等待,直到異步/等待完成
  • 28. Windows Store應用程序 - 同步等待異步操作
  • 29. 這是異步等待如何工作的正確圖表?
  • 30. 等待異步HTTP請求的響應,無異步/等待