[英]Fetching data from Restful webservice with JavaScript?
我有几个问题。 首先是我不知道如何使用javascript从网络服务获取数据。 第二个是,当我尝试以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中,我得到了:
40马克免费1湖20030山姆字2草105
网络服务:
@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>
问题:
如何使用JSON或/和Jquery或仅使用纯js从JavaScript提取页面数据? 有人可以对我的js函数实现基本情况并解释原因和原因。 我的函数只返回[object Object],[object Object]吗?
如何使数据为JSON格式而不是XML?
从获取的数据构建表的最佳方法是什么?
我可以在webservice类中调用特定的方法,如何调用,例如findAll()?
我正在使用JPA和JAAS身份验证。 在我使用Web服务并且客户端可以位于不同服务器的情况下,如何避免缓存问题? 有时数据是旧的,因为Eclipselink是从缓存而不是从DB读取数据的?
你过得好吗?
这适合一个人问很多问题吗?
佐美
@GET
@Produces({"application/xml", "application/json"})
public String doGetAsXmlOrJson() {
...
}
如果可接受的媒体类型为“ application / xml”和“ application / json”,则将调用doGetAsXmlOrJson方法。 如果两者均可接受,则将选择前者,因为它首先出现。
在http://jersey.java.net/nonav/documentation/snapshot/jaxrs-resources.html找到了
要将JSON转换为JavaSCript,您可以调用
res = JSON.parse(responseJson);
res将成为一个JS对象,您可以在其中轻松进行任何操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.