gpt4 book ai didi

java - 使用 JavaScript 从 Restful Web 服务获取数据?

转载 作者:行者123 更新时间:2023-12-01 14:54:18 25 4
gpt4 key购买 nike

我有几个问题。首先是我不知道如何使用javascript从webservice中获取数据。第二个是,当我尝试获取 JSON 格式而不是 XML 格式的数据时,我总是会得到 xml。我对 js、Jquery 之类的东西确实是新手,所以我才开始研究它。

http://localhost:8080/UserRest/webresources/users?format=json // Even If format is JSON the result is always XML. Browser is Chrome


<users>
<user>
<age>40</age>
<firstName>Mark</firstName>
<freeText>Free</freeText>
<id>1</id>
<lastName>Lake</lastName>
<weight>200</weight>
</user>
<user>
<age>30</age>
<firstName>Sam</firstName>
<freeText>Words</freeText>
<id>2</id>
<lastName>Grass</lastName>
<weight>105</weight>
</user>
</users>

如果我尝试

http://localhost:8080/UserRest/webresources/users?format=XML

在 Safari 中,我得到了:

40MarkFree1Lake20030SamWords2Grass105

网络服务:

@GET 
@Override
@Produces({"application/xml", "application/json"})
public List<User> findAll() {
return super.findAll();
}

页面:

      function fetchUserFunction()
{
$.getJSON("http://localhost:8080/UserRest/webresources/users?format=json",

function(data) {
$.each(data, function(key, value) {
alert(key + "=" + value);
$('#maindiv').append('<li id="' + key.toString() + '">' + value.toString() + '</li>');
});
});

}
</script>
</head>
<body>
<h1>Users</h1>
<a href="http://localhost:8080/UserRest/webresources/users"> Test restful service</a>
<button onclick="fetchUserFunction()">Fetch Users</button>
<div id="maindiv"></div>
</body>
</html>

问题:

  1. 如何使用 JSON 或/和 Jquery 或仅使用纯 js 从 JavaScript 页面获取数据?有人可以为我的 js 函数实现基本案例并解释原因和内容吗?我的函数只返回 [object Object],[object Object]?

  2. 如何使数据采用 JSON 格式,而不是 XML 格式?

  3. 根据获取的数据构建表格的最佳方法是什么?

  4. 我可以在 Webservice 类中调用特定方法吗?如何调用,例如 findAll()?

  5. 我正在使用 JPA 和 JAAS 身份验证。当我使用 Web 服务并且客户端可以位于不同的服务器时,如何避免缓存问题?有时数据很旧,因为 Eclipselink 是从缓存中读取数据,而不是从数据库中读取?

  6. 今天过得怎么样?

  7. 这是否适契约(Contract)时提出多个问题?

萨米

最佳答案

@GET
@Produces({"application/xml", "application/json"})
public String doGetAsXmlOrJson() {
...
}

The doGetAsXmlOrJson method will get invoked if either of the media types "application/xml" and "application/json" are acceptable. If both are equally acceptable then the former will be chosen because it occurs first.

http://jersey.java.net/nonav/documentation/snapshot/jaxrs-resources.html 找到此内容

要将 JSON 转换为 JavaSCript,您可以调用

res = JSON.parse(responseJson);

res 将成为一个 JS 对象,您可以轻松地在其中做任何事情。

关于java - 使用 JavaScript 从 Restful Web 服务获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14458922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com