Spring MVC + Ajax错误400

德米特里

我在Spring MVC上有一个简单的Java应用程序,并将ajax请求发送到Spring控制器。当我在AJAX调用中设置标头“ Accept”,“ application / json”“ Content-Type”,“ application / json; charset = utf-8”时在dubugger中出现错误400,在删除它时,出现错误415

如果我将控制器方法签名更改为public String logoutPage(@RequestBody String obyavleniye),则会得到JSON字符串。控制器中的解析请求会出现什么问题?

JS方法:

$("#advertForm").submit(function(e) {
        e.preventDefault();
        var token = $("meta[name='_csrf']").attr("content");
        var header = $("meta[name='_csrf_header']").attr("content");
        var obyavleniye = {
            title: "Title",
            price: "80",
            description: "desc",
            date: "2016-11-07 18:30:21",
            authorid: "2",
            category: "A",
            state: "new",
            img1: "http",
            img2: "http",
            img3: "http",
            img4: "http",
        };
        var post_data = JSON.stringify(obyavleniye);

        console.log(post_data);
        $.ajax({
            url : "/upload",
            type: "POST",
            dataType: 'json',
            data: post_data,
            beforeSend: function(xhr) {
                xhr.setRequestHeader("Accept", "application/json");
                xhr.setRequestHeader("Content-Type", "application/json;charset=utf-8");
                xhr.setRequestHeader(header, token);
            },
            complete: function() {
                console.log("Sent");
            },
            success: function (response) {
                console.log("success");
                console.log("response" + response);
            },
            error: function (data) {
                console.log("error");
                console.log(data);
            }
        });
    });

控制器方式:

@ResponseBody
    @RequestMapping(value="/upload", method = RequestMethod.POST)
    public String logoutPage (@RequestBody Advert obyavleniye) {
//    public String logoutPage (@RequestBody String obyavleniye) {
        System.out.println("Enter: " + obyavleniye);
        this.advertService.addAdvert(obyavleniye);
//        return "{\"msg\":\"success\"}";
        return "{\"title\":\"Title\",\"price\":\"80\",\"description\":\"normm\",\"date\":\"2016-11-07 18:30:21\",\"authorid\":\"2\",\"category\":\"A\",\"state\":\"new\",\"img1\":\"http\",\"img2\":\"http\",\"img3\":\"http\",\"img4\":\"http\"}";
    }
0gam

我的示例代码。

js

  Company.prototype.saveCompanyLocation = function() {
        /* company */
        var companyIdx = $('#companyIdx').val();
        var locationIdx = $('#locationIdx').val();

        var data = {
            idx : locationIdx,

            postCode : $('#postCode').val(),
            address : $('#address').val(),
            detailAddress : $('#detailAddress').val(),

            tel : $('#tel').val(),
            fax : $('#fax').val(),
            email : $('#email').val(),
            language : $("#language").val(),

            latitude : $('#latitude').val(),
            longtitude : $('#longtitude').val()

        };

        data = JSON.stringify(data);

        $.ajax({
            url : "/gpim/company/settings/location/save/" + companyIdx,
            type : 'POST',
            data : data,
            contentType : 'application/json',

            success : function(response) {
                if (response == "success") {
                    document.location.reload(true);
                } else {
                    $("#editMsg").text("you can`t save location information.");
                }
            },
            error : function(request, status, error) {

            }
        });
    };

控制器

@RequestMapping(value = "/settings/location/save/{companyIdx}", method = RequestMethod.POST)
    public @ResponseBody String saveLocation(@PathVariable int companyIdx, @RequestBody CompanyLocation location) {
        Company company = companyService.findCompanyByIdx(companyIdx);

        company = companyService.saveCompanyLocation(company, location);

        if (company != null) {
            return "success";
        }

        return "fail";
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring MVC Ajax 400错误请求

来自分类Dev

Spring MVC 400错误请求Ajax

来自分类Dev

400(错误请求)错误-使用JQuery AJAX上传Spring MVC文件

来自分类Dev

Spring MVC中出现400错误

来自分类Dev

Spring MVC AJAX错误请求错误

来自分类Dev

Spring MVC Ajax文件上传错误

来自分类Dev

Ajax调用Spring MVC Controler错误的请求

来自分类Dev

从Ajax到Spring MVC的请求。404错误

来自分类Dev

Ajax调用Spring MVC Controler错误的请求

来自分类Dev

Spring MVC在Ajax中出现BadRequest错误

来自分类Dev

对象错误-通过 Spring MVC 调用 Ajax

来自分类Dev

Spring MVC- REST POST-错误请求400

来自分类Dev

Spring MVC @ModelAttribute方法返回“错误请求” 400

来自分类Dev

Spring Ajax调用上的400错误请求

来自分类Dev

Spring MVC验证状态400

来自分类Dev

Spring MVC JSP错误

来自分类Dev

Spring MVC验证错误

来自分类Dev

使用Spring MVC在Ajax响应中获取406错误

来自分类Dev

Ajax无法捕获从ResponseEntity(Spring MVC)对象发送的错误

来自分类Dev

Spring MVC Ajax表单提交

来自分类Dev

Spring MVC处理AJAX请求

来自分类Dev

Spring MVC Ajax开机自检

来自分类Dev

Spring MVC Ajax表单提交

来自分类Dev

Spring MVC + Ajax JSON发布

来自分类Dev

Spring MVC错误请求与@requestbody

来自分类Dev

Spring MVC错误,显示“ NoSuchMethodError”

来自分类Dev

Maven项目-Spring MVC错误

来自分类Dev

Spring MVC CSS错误加载

来自分类Dev

Spring MVC bean创建错误