javascript - 我可以在 json 响应中发送 java 对象吗
问题描述
例如我有java类帖子:
public class Post{
String title;
String text;
}
如果我创建此类的一个实例并将其转换为我的 servlet 控制器中的 ajax 响应
@RestController
public class AjaxNewsController {
@JsonView(Views.Public.class)
@PostMapping(value = "/getPost")
public AjaxResponseBody getSearchResultViaAjax(@RequestBody AjaxPostResponse postId) {
AjaxResponseBody result = new AjaxResponseBody();
result.setCode("200");
result.setMsg("found POST");
result.setResult(post);
return result;
}
}
我的问题是:我可以在客户端使用 javascript 检索帖子字段的标题和文本吗?如果可以的话,该怎么做?
这是我在浏览控制台中的响应的控制台示例
但是我如何使用 ajax 和 jquery 中的字段提取我的帖子?
UPD
经过一些研究后,我发现不知何故我的 serlvet 没有将我的 java pojo 转换为 json。我该怎么做?
UPD2
我的请求发送正常,但 serlvet 不会将 POST 类转换为 json。
这是我的javascript:
function likePost(postId,ratingElem, ratingChange) {
var search = {}
search["postId"] = postId;
search["rating"] = ratingChange;
$.ajax({
type : "POST",
contentType : 'application/json; charset=utf-8',
dataType : 'json',
url : "likePost",
data : JSON.stringify(search),
timeout : 100000,
success : function(data) {
console.log("SUCCESS: ", data);
changeRating(ratingElem,data.post.getTopic());
},
error : function(e) {
console.log("ERROR: ", e);
changeRating(ratingElem,'error');
},
done : function(e) {
console.log("DONE");
enableSearchButton(true);
}
});
}
状态和消息很好,但结果为空。
解决方案
试试看:
var req = new XMLHttpRequest();
req.open('POST', 'your_url', false);
req.send(null);
if(req.status == 200)
dump(req.responseText);
如果您想从另一个域获取数据,请阅读 cors
推荐阅读
- python - 如何将列表中的项目传递到 xpath 以从网站下载文件?
- node.js - 使用 AWS SNS 删除或编辑未读推送通知?
- javascript - matter.js:有什么方法可以为我的精灵设置动画
- java - 读取值表格 excel 单行多列
- python - 如何将列表的行合并成短语(帮助完成代码)?
- reactjs - 使用 nginx 修改 spa index.html 元标记
- r - r中每个类别的条形图平均值
- javascript - 没有不同类的 Puppeteer Scraping Tables
- c++ - 来自具有 OpenCV 4.20 构建的网络摄像头的不同图像(MSVC 2019(良好图像)和 MinGW(奇怪图像))
- php - Apache PHP 脚本上的 XSS 漏洞