JS調試時返回結果有內容卻顯示數組長度為0或對象內容為空


1.現象描述:JS調試時返回結果有內容卻顯示數組長度為0或對象內容為空,數組為空,但是點開又有數據

 

2.打印出來的結果:

3.原因:

這是因為采用ajax異步請求的原因

因為開始空數組沒賦值,賦值之后,因為是地址引用,那個數組已經被修改了。顯示零是原來的長度。但包含修改后的結果。換句話說,就是由於ajax異步請求數據,在執行ajax時(由於異步,此時,開始回調函數還沒有運行,但是ajax后面的congsole.log已經開始運行,所有顯示為空,但是在回調函數也運行完畢后,數組賦值了,所以就會將結果也顯示上去)。

4.解決辦法:

ajax請求里面加入async:false

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM