javascript - 将对象从 tomcat Listener 传递到 Javascript 函数

标签 javascript java json web-applications listener

我尝试将对象从 Java 监听器(不是 Javascript 事件监听器!)发送到 Javascript 应用程序,但没有成功。

要求是:在浏览器中运行的 Javascript 应用程序应在启动时向监听器请求一个对象(例如数组),并且监听器响应给出该数组。有很多方法可以做到这一点。最相对安全、最高效的是什么?

我现在尝试做一个例子。 Javascript 函数直接向 jQuery 数组询问 JSON 文件(通过 HTTP GET 请求),并以这种方式将其内容存储在“data”变量中,如下所示:

$.get("./myJSONfile.json", function( data ){
// Stuff to do
var myArray = data;
...
}

并且这不需要任何 Servlet 或 Listener 的干预。我需要做什么,我想使用监听器将 JSON 文件的内容传递给 Javascript 函数?

最佳答案

不确定你的意思,但 JavaScript 和服务器之间通信的一种常用方法是编写 ajax 调用来获取你想要的数据,如下所示:

var myArray = [];
$.ajax({
    url: "someUrltoServer",
    async: false,
    type: "GET",
    error: function (jqXHR, textStatus, errorThrown) {
        alert(jqXHR + "-" + textStatus + "-" + errorThrown);
    },
    success: function (data) {
        myArray = data;
    }
});

关于javascript - 将对象从 tomcat Listener 传递到 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331329/

相关文章:

javascript - 用于外部点击的 @HostListener OnClick 在 Firefox 中不起作用

javascript - 添加新消息(元素)后固定位置查看内容

javascript - AngularJS Bootstrap 下拉菜单在 IE 11 中不起作用

java - Facebook/Parse 登录行为异常 : The proxied app is not already installed

java - 如何配置禁止 EAR 文件内 WAR 文件的启动?

javascript - 挑选一个 JSON 对象来创建多个数组

jquery - $.each([集合]) 与 $([集合]).each()

javascript - chrome.tabs.executeScript 在 chrome.tabs.create 回调中不起作用

java - Odata V4客户端: getEntityCreate method

java - Wicket - 使用 AJAX 和 Wicket 模型更新 ListView