Java 如何从AJAX请求读取RestWebservice中的JSON数据
我试图使用AJAX调用从HTML页面向RESTWebservice发送JSON字符串。服务器中的方法被调用,但是我无法通过AJAX调用检索在浏览器中设置的JSON数据。我将使用jersy进行其他服务 这是我的HTML代码Java 如何从AJAX请求读取RestWebservice中的JSON数据,java,json,ajax,rest,Java,Json,Ajax,Rest,我试图使用AJAX调用从HTML页面向RESTWebservice发送JSON字符串。服务器中的方法被调用,但是我无法通过AJAX调用检索在浏览器中设置的JSON数据。我将使用jersy进行其他服务 这是我的HTML代码 var userConfig={}; userConfig.user=“arin_12”; userConfig.fullName=“Arindam”; var data=JSON.stringify(userConfig); 警报(数据); var req=新的XMLHt
var userConfig={};
userConfig.user=“arin_12”;
userConfig.fullName=“Arindam”;
var data=JSON.stringify(userConfig);
警报(数据);
var req=新的XMLHttpRequest();
请求打开('POST','http://localhost:8080/LiveHive2/rest/hello",对),;
setRequestHeader('Content-Type','application/json;charset=UTF-8');
req.onreadystatechange=函数(){
如果(req.readyState==4&&req.status==200){
如果(请求响应文本){
警报('数据保存为'+req.responseText');
}
}
}
请求发送(数据);
索引页
因此POST
请求的主体将
{
"user": "arin_12",
"fullName": "Arindam"
}
编写这个JSON可以映射到的Java类
public class UserConfig {
private String user;
private String fullName;
// Constructor, Getter, Setter, ...
}
然后,JAX-RS允许您自动将JSON转换为类实例
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String sayJSONHello2(UserConfig userConfig) {
System.out.println("got UserConfig: " + userConfig);
return "{\"Name\":\"Arindam\"}";
}
还可以让JAX-RS处理结果到JSON的映射。让我们为响应编写第二个类
public class HelloResponse {
private String name;
// Constructor, Getter, Setter, ...
}
更改JAX-RS方法以返回此类的实例
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public HelloResponse sayJSONHello2(UserConfig userConfig) {
System.out.println("got UserConfig: " + userConfig);
return new HelloResponse(userConfig.getName());
}
我按照建议试了一下。但是没有起作用。现在甚至sayJSONHello2方法也没有被调用。请参阅新代码。还更新了web.xml。仍然没有进展,JAX-RS2.0上似乎有一些重大升级。根本找不到合适的例子。希望从一些技术人员那里得到答案。。。