首页 > 解决方案 > 如何在 Java (JEE) 中读取 Ajax JSON?

问题描述

我正在尝试读取 java 类中的 ajax json 文件。任何人都知道如何从那里获得价值?

function addBook() {
    jQuery.ajex({
        url: "http://localhost:8080/book_service/rest/books/",
        type: "POST",
        contentType: "application/json",  
        dataType:'json',
        data: {
            title:$("#stitle").val(),
            price:$("#sprice").val()
        },
        success: function(data, textStatus, errorThrown) {
            log.out("Added Successfully");
        },
        error : function(jqXHR, textStatus, errorThrown) {
            log.out("Error Adding");
        },
        timeout: 120000,
    });
};

这是我的java类

@POST
public void addBook() {


        String title;
        int price;
        new Books().addBook(title, price);
}

标签: javascriptjavaajax

解决方案


我只是找出解决方案...

使用 Application_JSON 注释 @Consumes。使您可以作为通过 JsonObject 传递到方法中的 JSON 对象进行访问。

在 ajax 中,您应该按照以下 JSON 格式传递值,

function addBook() {
    jQuery.ajax({
        url: "http://localhost:8080/book_service/rest/books",
        type: "POST",
        contentType: "application/json",
        data: JSON.stringify( {
            "bid"   :$("#sid").val(),
            "title" :$("#stitle").val(),
            "price" :$("#sprice").val()
        }),
});

@Consumes(MediaType.APPLICATION_JSON)
    public void addBook(JsonObject data) {

        int id = Integer.parseInt(data.getString("bid"));
        String title = data.getString("title");
        double price = Double.parseDouble(data.getString("price"));

        System.out.println(id+" "+title+" "+price);

推荐阅读