Ajax - Spring 发送 javascript 对象并接受为自定义对象.客户端发送的请求在语法上不正确

Ajax - Spring send javascript object and accept as custom object.The request sent by the client was syntactically incorrect

本文关键字:对象 请求 不正确 语法 客户端 发送 Spring javascript Ajax 自定义      更新时间:2023-09-26

我在java中有一个自定义类,类似于

    public class AddressesVO {
private Long addressId;
private String address;
public Long getAddressId() {
    return addressId;
}
public void setAddressId(Long addressId) {
    this.addressId = addressId;
}
public String getAddress() {
    return address;
}
public void setAddress(String address) {
    this.address = address;
}

}

我的弹簧函数看起来像这样,

     @RequestMapping(value="/searchAddress", method=RequestMethod.POST)
    @ResponseBody
    public String searchAddress(HttpServletRequest request, HttpServletResponse response, @RequestBody        AddressesVO abc) {
System.out.println("This is the AddressesVO  Object" +abc);
    }

我正在对上述函数进行 ajax 调用,并将 JavaScript 对象作为数据传递。

$.ajax({
type: "POST",  
url: "searchAddress/",
data: objname, 
success: function(){  
   alert('Form submitted');
            alert(response);
},
error: function(XMLHttpRequest, textStatus, errorThrown) { 
    alert('failure'+response); 
}       

});

但是我收到一个错误说客户端发送的请求在语法上不正确,并且其进入失败

任何人都可以帮我如何将 JS 对象发送到 spring 并将其作为自定义类接受。

创建一个 JavaScript 对象 var AddressesVO = new Object();

填充其字段

AddressesVO.addressId = 111;
AddressesVO.address = 'some address';

将此对象传递给 ajax 调用(注意:数据:AddressesVO)

$.ajax({
    type: "POST",  
    url: "searchAddress/",
    data: AddressesVO, 
    success: function(){  
        alert('Form submitted');
        alert(response);
    },
error: function(XMLHttpRequest, textStatus, errorThrown) { 
    alert('failure'+response); 
}

更改弹簧方法(注:@ModelAttribute地址VO)

@RequestMapping(value="/searchAddress", method=RequestMethod.POST)
@ResponseBody public String searchAddress(HttpServletRequest request, HttpServletResponse response, @ModelAttribute AddressesVO abc) {
    System.out.println("This is the AddressesVO  Object" +abc);
}

希望这对你有用。