2012-06-29 67 views
0

我有需要讀取一個變量,以JavaScript設置的要求(apiCall)如下:如何從GWT讀取JS變量?

<script type="text/javascript"> 
    var oidValue = ""; 
    var apiCall = false; 

    function firePatientSearch(lastname, firstname, dob, mrn, OID) { 
     apiCall = true; 
     SUBMIT_PDQ.focus(); 
     SUBMIT_PDQ.click(); 
     } 
</script> 

從我的GWT代碼我這樣做:

public native Boolean isAPICall()/*-{ 
    return $wnd.apiCall; 
}-*/; 

但答案總是假的!我讀取電話isAPICall()發佈JS功能後firePatientSearch。這應該是真的,還是我在這裏做錯了什麼?

+0

似乎我不能讀一個布爾,只有字符串。當我改變它時,它又開始工作了。 –

回答

2

嘗試使用布爾值而不是布爾值作爲JSNI方法的返回值。

public native boolean isAPICall()/*-{ 
    return $wnd.apiCall; 
}-*/; 

根據Dev Guide,只支持原始布爾值。

編輯:檢查未定義(和其他特殊情況)必須在您的JSNI代碼中完成。