Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Javascript和GWT链接到传递参数_Java_Javascript_Gwt - Fatal编程技术网

如何将Javascript和GWT链接到传递参数

如何将Javascript和GWT链接到传递参数,java,javascript,gwt,Java,Javascript,Gwt,我有一个GWT代码: Button button = new Button("Search"); button.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { loadData();

我有一个GWT代码:

Button button = new Button("Search");
                button.addClickHandler(new ClickHandler() {

                    @Override
                    public void onClick(ClickEvent event) {
                        loadData();

                    }
                });

...

    private native void loadData()  /*-{
        $wnd.loadGrid();
    }-*/;
下面是Javascript代码:

...
loadGrid : function (){ 
            alert("Testing JSNI");
        },
...
它不工作,错误是:

Uncaught com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) : undefined is not a function
这是一个示例代码,因为我的目标是将参数从js传递到GWT,但我不明白为什么它不运行。发生了什么?谢谢。

将loadGrid函数放在窗口上下文中:

window.loadGrid = function(){...}
否则,从相应的对象容器调用函数,例如:

window.myObject = {
   loadGrid: function(){...}
}

private native void loadData() /*-{
   $wnd.myObject.loadGrid()
}-*/;

如何加载javascript代码?在我的html页面中,因此:。加载的是其他js代码,不是.nocache.js GWT代码,而是javascript,其中的loadGrid方法位于nameProject.GWT.xml中。我认为问题在于上面的代码语法,因为它适用于其他JSNI代码,您同意吗?通过浏览器控制台,您可以调用loadGrid函数吗?它似乎不接受以下语法:'[java]严重:输入。js:74015:ERROR-Parse ERROR。缺少:在属性id[java]window.loadGrid=函数[java]^'之后