java - Jquery Ajax 发送 contentType application/json 和 java 获取 null

标签 java javascript jquery ajax json

当我使用“contentType”属性从 ajax jquery 发送 Json 对象时,这种情况下的后端是 java,找不到 json 元素或请求为 null

这是JS

    var urlInsert = '/SAF/ajax/supplier/insert';
        console.log(rfc);
        $.ajax({
            type : 'POST',
            url : urlInsert,
            data:{
                proveedor : jsonObj //jsonObj is a JSON.stringify()
            },
            dataType : "json",
            contentType : "appliaction/json",
            mimeType : "applicaction/json",
            success : onInsert,
            error : function(data, status, er) {
                alert("Load Data: " + data + ", Estatus: " + status + ", Error: "
                        + er);
            }
        }); 

这是我的 Controller JAVA中的方法

    @RequestMapping(value="insert",method=RequestMethod.POST)
public void onInsert(HttpServletRequest request, HttpServletResponse response){
    Gson gson = new Gson();
    SafTcProveedor proveedor = gson.fromJson(request.getParameter("proveedor"), SafTcProveedor.class);
    System.out.println(proveedor);

}

最佳答案

你有一个拼写错误,如果你将它的数据类型设置为 json,你的数据对象应该是一个 JSON 对象,因此 proveedor 周围的引号。

此代码应该可以工作:

var urlInsert = '/SAF/ajax/supplier/insert';
        console.log(rfc);
        $.ajax({
            type : 'POST',
            url : urlInsert,
            data:{
                "proveedor" : jsonObj //jsonObj is a JSON.stringify()
            },
            dataType : "json",
            contentType : "application/json",
            mimeType : "application/json",
            success : onInsert,
            error : function(data, status, er) {
                alert("Load Data: " + data + ", Estatus: " + status + ", Error: "
                        + er);
            }
        });

或者你可以使用 jQuery 的 post 函数:

$.post('/SAF/ajax/supplier/insert', {proveedor: jsonObj})
    .done(onInsert)
    .fail(function (jqXHR, textStatus, errorThrown) {
        alert('error', errorThrown);
    });

关于java - Jquery Ajax 发送 contentType application/json 和 java 获取 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23683730/

相关文章:

java - Pax-web、jetty和RewriteHandler导致404

java - 在哪里定义服务器端jar的类路径? manifest.mf与CLI参数-cp

java - 默认情况下,任何类都扩展 Object 类。不是说java支持多重继承吗?

javascript - 在jquery中隐藏第三个子div

javascript - 单击按钮时在 VB 中切换选项卡

javascript - 如何使用 jquery 提取 XML 文档的一部分进行转换 (xslt)?

asp.net - 在带有 JQuery 的 ASP.NET 中,如何定义和处理异常情况

java - 使用tomcat时如何将文件保存在客户端电脑而不是服务器电脑上

javascript - 图像上传、调整大小和编码为 base64 导致 Chrome 在移动设备上崩溃

Jquery:优化 MouseOver 上的 Droppable