Chrome的哪些功能会在弹出窗口中显示解析错误?

时间:2015-08-09 22:38:32

标签: google-chrome nashorn

我不知道它来自何处:这是它,在Java中我创建了一个在Nashorn中运行Javascript文件的servlet,然后将结果写入响应中。我的Javascript代码返回一个对象,如:

function root(){
    return {
        "hello": 1
    };
}

当我的servlet返回对象时(它只是一个测试):

 Object result = invocable.invokeFunction("root", req);
            OutputStreamWriter outputStreamWriter = new OutputStreamWriter(resp.getOutputStream());
            outputStreamWriter.write(result.toString());
            outputStreamWriter.close();

响应原始身体是:

[object Object]

和chrome将执行以下操作:

enter image description here

红色弹出式十字架甚至在点击时关闭它。

这是由我忘记的扩展程序完成的吗?或者它是否与某种语法集成?我真的不知道。

1 个答案:

答案 0 :(得分:1)

@ gotch4

结果你正在观察预期。您正在重新调整JavaScript对象的字符串表示形式(从技术上讲,您正在调用Object.protorype.toString并返回[object Object])。 我认为你真正想要的是在返回对浏览器的响应之前调用JSON.stringify

Object JSON = e.eval("JSON");
Object result = invocable.invokeMethod(JSON, "stringify", invocable.invokeFunction("root", req));

OutputStreamWriter outputStreamWriter = new OutputStreamWriter(resp.getOutputStream());
        outputStreamWriter.write(result.toString());
        outputStreamWriter.close();

p.s。代码应该有效,但我没有测试 - 从手机写。