台灣最大程式設計社群網站
線上人數
1771
 
會員總數:245141
討論主題:189044
歡迎您免費加入會員
討論區列表 >> AJAX / JSON / jQuery >> javascript 與 ajax執行順序,求解。
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
javascript 與 ajax執行順序,求解。
價值 : 50 QP  點閱數:1145 回應數:2

樓主

孤獨是唯一永恆
初級顧問
13320 12
3787 1187
發送站內信

捐贈 VP 給 Daimom
發生這個問題是在使用flot 的chart物件的時候,發生為什麼要使用setTimeout,執行第二次後才會顯示圖表。
有找到原因,但解決的觀念不是很清楚,懇請大大們解惑。
以下script 皆寫在</head> 與 <body>中間


我如果將 參數設定 options 放在 animate() 裡面的話,就會發生無法第一次載入畫面,沒有圖表顯示的情形..
但如果將 參數設定 options 放在 config() 裡面的話,則不會發生沒有圖表顯示的情形。

目前的推論是,當網頁執行時,會先執行var的參數,然後 執行 config() ,最後執行 animate()。
但options放在 animate的時候,有可能因為config尚未讀到值,導致 option的 min,max ticks未被更新 。

感謝您花時間看完以上敘述。

搜尋相關Tags的文章: [ AJAX ] ,
本篇文章發表於2015-05-19 15:55
== 簽名檔 ==
--------------------------------------
1.如果你唯一懂得的工具只有槌子時,很自然你會把所有東西當成釘子來對待。
2.請使用程式標籤包住你的程式碼
3.請將對您有幫助的回覆『標示為解答』,來幫助其他尋找解答的使用者。(在回覆的使用者頭像上面,有『接受的解答』按鈕可選
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
小弟的推測是因為ajax沒有設定async=false,導致ajax是以同步請求的方式在執行
所以即使update()中是先config()再animate(),實際上卻是兩個一起執行
因此,如果將options的設定放在animate()中,第一次執行時會因為config()還沒執行完,而無法取得三個變數的值
本篇文章回覆於2015-05-20 09:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

孤獨是唯一永恆
捐贈 VP 給 Daimom 檢舉此回應
感謝迷路大 那應該就是這樣了。
本篇文章回覆於2015-05-21 08:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.