javascript - 我可以在 json 响应中发送 java 对象吗

标签 javascript java jquery json

例如我有java类帖子:

public class Post{
String title;
String text;
}

如果我创建此类的实例并将其转换为我的 servlet Controller 中的 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 检索帖子字段标题和文本吗?如果可以的话怎么办?

这是一个控制台示例,其中包含我在浏览中的响应 console

但是我如何使用 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

关于javascript - 我可以在 json 响应中发送 java 对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56324349/

相关文章:

javascript - AngularJS 1.1.5 - 自动向 URL 添加散列标签

javascript - 反转数组 - Eloquent javascript 第 4 章

jquery - 使用剪辑路径在 div 上平滑动画

jquery - 什么是名为 Mashable 的 jQuery 东西用于他们的前 5 个图像/视频帖子?

java - SQLITE 数据库使用 java 操作错误(IDE :Netbeans)

jquery:当我在文档上附加一个层时,如何重置文档滚动条?

javascript - jQuery elevateZoom 仅在我之前放置一个 alert() 时才起作用

javascript - 在 db.open() 回调中使用导出 - mongoose/express

java - CDI和EJB,安全问题?

java - 将字符串拆分为空白数组,但是如果我有一个只有一个单词的字符串怎么办