在sails.js中实时刷新网页

时间:2015-08-03 12:59:40

标签: angularjs node.js sails.js

在我的项目中,我使用的是sails.js。从test1.ejs我调用一个Web服务,然后使用res.view()调用另一个ejs(test2.ejs)。 现在android用户正在输入一些影响数据库的值,需要实时反映在网页上。我无法弄清楚如何使用sails.js实现这一目标。 此外,我甚至需要显示Android用户响应,同时刷新网页。总之,我想要一个像股票市场这样的动态UI,服务器上的任何变化都会反映在前端。 我还需要使用像angularjs这样的其他东西吗?

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你可以使用JavaScript界面​​。

您应该像这样创建类:

public class WebAppInterface {
    Context mContext;

    /** Instantiate the interface and set the context */
    WebAppInterface(Context c) {
        mContext = c;
    }

    /** Show a toast from the web page */
    @JavascriptInterface
    public void showToast(String toast) {
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}

在此之后,您应该将此界面连接到您的webview,如下所示:

webView.addJavascriptInterface(new WebAppInterface(this), "Android");

现在你可以像这样从JS调用Java代码:

<script type="text/javascript">
    function showAndroidToast(toast) {
        Android.showToast(toast);
    }
</script>

或者像这样从Java调用JS代码:

webview.loadUrl("javascript:window.showAndroidToast(\"Hello, World!\")");

此处提供了更多信息:https://developer.android.com/guide/webapps/webview.html