我有一个要求,需要读取在javascript中设置的变量(apiCall),如下所示:

<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;
}-*/;


但是答案总是错误的!我在发出JS函数firePatientSearch之后读取了isAPICall()调用。应该是对的,还是我在这里做错了什么?

最佳答案

尝试使用布尔值而不是布尔值作为JSNI方法的返回值。

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


根据Dev Guide,仅支持原始布尔值。

编辑:必须在您的JSNI代码中检查未定义的(以及其他特殊情况)。

关于javascript - 如何从GWT读取JS变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11264656/

10-13 22:40