ajax能不能接收一个对象,ajax传过来的对象只能以string接收不能以json接收

前端写了个ajax

test.οnclick=function () {

var user = {

"productId":1000,

"productQuantity":1

};

alert(11);

$.ajax({

type: "POST",

dataType:"json",

async:"true",

contentType: 'application/json',

url: "/campus_ordering_system/master/buycar/list",

data: JSON.stringify(user) ,

success:function(data){

//TODO

alert(1);

},

error:function () {

alert(user.productId);

alert(2);

}

})

}

这里用string能获取到user对象,不过是以{"productId":1000,"productQuantity":1}的字符串出来的,换成JSONObject的话接收到的值就为null

@RequestMapping("/list")

@ResponseBody

public ModelAndView list(HttpServletRequest request,@RequestBody String params){

HttpSession session=request.getSession();

System.out.println("传出:"+params);

System.out.println("传出:"+request.getParameter("productId"));

ProductInfo productInfo=productInfoService.findByOneProductInfo("1000");

session.setAttribute("data",productInfo);

return new ModelAndView("buycar/buycar");

}