繁体   English   中英

从服务器请求JSON对象?

[英]Request JSON object from server?

我在服务器端有一个JSON对象:

String jsonText = JSONValue.toJSONString(users);

我想将它发送到客户端以用于javascript函数,该怎么做?

我在没有其他库的情况下将JSF 2与Pure JavaScript一起使用。

在HTTP中,服务器不会向客户端发送任何内容。 客户端使用请求请求某些资源,响应包含资源。

使JavaScript函数向服务器发送AJAX请求,并使服务器在响应中使用此JSON字符串进行应答(通过将JSON字符串写入响应编写器)。

请参阅http://api.jquery.com/jQuery.getJSON/以从JavaScript获取JSON字符串。 服务器代码很简单

response.getWriter().print(jsonText);

最简单的方法是让JSF在同一视图中将JSON对象的字符串表示形式打印为JS变量:

<script>var users = #{bean.usersAsJson};</script>

但是, 正确的方法是为此使用完全有价值的JSON Web服务。 JSF是基于组件的MVC框架,而不是JSON Web服务。 为此,Java EE堆栈提供了JAX-RS API。 长话短说: Servlet vs RESTful 最好结合使用jQuery或任何JS框架,它能够发送Ajax请求并基本上在oneliner中操作HTML DOM树。 您只需要考虑将其与JSF结合使用时,只能用于纯演示

浏览器必须请求它,即该字符串必须位于请求处理链中的某个位置。 将响应设置为该字符串,浏览器将收到它。

我想你想说响应json字符串。 可以通过jQuery函数getJSON完成。 它将获取json字符串并将其解析为inti哈希,然后必须根据需要对其进行处理。 API文档

发送您的json对象进行响应,并在javascript中获取响应。 使用eval函数评估json对象。

var jsonObject = eval('(' + request.responseText + ')');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM