java腳本的怪異行爲。 我正在嘗試開發一個使用QT-QML和JavaScript的簡單示例應用程序。
在這我使用HTTP請求,我有使用JavaScript發送HTTP請求的按鈕。使用QML的JavaScript的奇怪行爲
當我在回調函數中收到HTTP請求的響應時,我試圖按如下方式讀取HTTP響應的狀態。
if(httpReq.readyState == 4) //Problem
{
if(httpReq.status == 200)
{
...
我想檢查是否readyState
是4
(4代表完成/完成)
但是,如果條件未能檢查並獲取評估爲真,無論readyState
價值。
例如,如果readyState
是0
(0 == 4),那麼如果條件被評估爲TRUE則不應該。
爲什麼會發生這種情況。
我也曾嘗試
1. if(parseInt(httpReq.readyState) == 4)
2. if(Number(httpReq.readyState) == 4)
3. if(httpReq.readyState == '4')
以上條件也給予了同樣的結果和被評估爲TRUE無論readyState
價值。
我的JavaScript解釋器有問題嗎?
謝謝。
------ ----- UPDATE
的是,我有QML應用程序(發送HTTP請求)和HTTP服務器(服務器這個QML HTPP請求)兩者在同一應用程序/處理。當我在兩個不同的應用程序/可執行文件中分離HTTP服務器和QML應用程序時,它確實有效,並且當我將這兩個應用程序組合在同一個可執行文件中時,就會產生問題當我在一個可執行文件中同時使用HTTP服務器和QML應用程序時QML JavaScript解釋器開始表現怪異。在運行Web服務器之前,我在單獨的線程中運行QML應用程序。
你試過像'號(httpReq.readyState)=== 4'代碼? – kirilloid
不,我會嘗試。 – psp1
當我寫,'logPrint(「結果是:」+(httpReq.readyState == 4));'它打印與'==='相同。 – psp1