Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 如何在dojo中读取JSONObject,其中JSONObject是在JSP中创建的?_Javascript_Dojo - Fatal编程技术网

Javascript 如何在dojo中读取JSONObject,其中JSONObject是在JSP中创建的?

Javascript 如何在dojo中读取JSONObject,其中JSONObject是在JSP中创建的?,javascript,dojo,Javascript,Dojo,如何在dojo中读取JSONObject 我的jsp中有一个JSONObject JSONObject myJSONObj = new JSONObject(); 如何在dojo或*.js文件的“onload function”中读取此myJSONObj。可能需要尝试以下方法: window.load = function(){ var myjson = <%= getJSON() %> //using myjson } getJSON是一个函数,它以JSON格式的字符串形

如何在dojo中读取JSONObject

我的jsp中有一个JSONObject

JSONObject  myJSONObj = new JSONObject();

如何在dojo或*.js文件的“onload function”中读取此myJSONObj。

可能需要尝试以下方法:

window.load = function(){
 var myjson = <%= getJSON() %>
 //using myjson
}
getJSON是一个函数,它以JSON格式的字符串形式返回myJSONObj

更新: 举个简单的例子。希望能有帮助

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<%
class Foor{
    public String getJSON(){
        return "{foo:'bar'}";
    }
}

Foor myfoo = new Foor();

%>
<script language=javascript>
var myjson = <%= myfoo.getJSON()%>
alert(myjson.foo);
</script>
</head>
<body>

</body>
</html>

尝试在函数中包装输出

要在DOM就绪时运行它,请尝试

如果您想通过AJAX onLoad加载它,请尝试

[编辑]


我刚刚意识到,我把它放在了JSON上,因为您需要将JSON字符串转换为JSON对象。下面是一个示例

@jebberwocky:我尝试了这个方法,但它给了我非法的XML字符错误。由于myfoo.getJSON的输出将被视为脚本标记中的字符串,您应该像这样包装它:var myjson=dojo.fromJson;我认为这个例子会起作用…@subhaze,如果我在JSP中创建Foor类“myfoo”的实例,那么在dojo js文件中可以访问myfoo。我也试过这个。但是每当我说var myjson=dojo.fromJson;那么代码就不会被编译了。请给出您的建议。我以前没有使用过JSP,但使用过PHP,我就是这样做的。如果您的代码类似于上面混合服务器端代码和HTML的代码,那么我认为您是Foor类“myfoo”的实例,应该如上所述使用dojo.fromJson进行修改,以确保它是有效的JSON,因为{foo:'bar'}不是。这就是我能想到的全部对不起:/也许试着把它全部分开。一个严格意义上是输出JSON的JSP页面和一个对JSON执行AJAX请求的HTML文件……我主要关心的是如何在dojo中检索myJSONObj对象,因为我正在JSP中创建和设置。非常感谢您的任何建议。