js中以ajax调用后台controller方法时报错:415 (Unsupported Media Type)
js:varproName=$(".addproducttopinput[name='proName']").val();//商品名varproPrice=$(".add...
js:
var proName=$(".addproducttop input[name='proName']").val(); //商品名
var proPrice=$(".addproducttop input[name='proPrice']").val(); //价格
var proMeno=$(".addproducttop textarea[name='proMeno']").val(); //备注
var input_man=$(".addproducttop input[name='loginId']").val(); //录单人
var input_date=$(".addproducttop input[name='input_date']").val(); //录单日期
var product=new Array();
product = {"proName" : proName,
"proPrice" : proPrice,
"proMeno" : proMeno,
"inputMan" : input_man,
"inputDate":input_date};
$.ajax( {
type : 'post',
contentType: "application/json;charset=utf-8",
url:'../productController/addProduct.do',
dataType:"json",
data:JSON.stringify(product),
async:false,
success : function(data) {
}
})
java:
@RequestMapping(value="/addProduct.do",method=RequestMethod.POST)
@ResponseBody
public void addProduct(@RequestBody ADDYH_PRODUCT product, HttpServletRequest request,HttpServletResponse response,HttpSession session) throws UnsupportedEncodingException, ParseException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setLenient(false);
Timestamp ts = new Timestamp(format.parse(product.getInputDate()).getTime());
YH_PRODUCT yh_product=new YH_PRODUCT(test.generate(),product.getProName(), Double.valueOf(product.getProPrice()),product.getProMeno(), product.getInputMan(),ts);
int result=productDao.addProduct(yh_product);
if (result==0){
request.setAttribute("saveProduct", "保存失败!");
}else if (result==1){
request.setAttribute("saveProduct", "保存成功!");
}
} 展开
var proName=$(".addproducttop input[name='proName']").val(); //商品名
var proPrice=$(".addproducttop input[name='proPrice']").val(); //价格
var proMeno=$(".addproducttop textarea[name='proMeno']").val(); //备注
var input_man=$(".addproducttop input[name='loginId']").val(); //录单人
var input_date=$(".addproducttop input[name='input_date']").val(); //录单日期
var product=new Array();
product = {"proName" : proName,
"proPrice" : proPrice,
"proMeno" : proMeno,
"inputMan" : input_man,
"inputDate":input_date};
$.ajax( {
type : 'post',
contentType: "application/json;charset=utf-8",
url:'../productController/addProduct.do',
dataType:"json",
data:JSON.stringify(product),
async:false,
success : function(data) {
}
})
java:
@RequestMapping(value="/addProduct.do",method=RequestMethod.POST)
@ResponseBody
public void addProduct(@RequestBody ADDYH_PRODUCT product, HttpServletRequest request,HttpServletResponse response,HttpSession session) throws UnsupportedEncodingException, ParseException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
format.setLenient(false);
Timestamp ts = new Timestamp(format.parse(product.getInputDate()).getTime());
YH_PRODUCT yh_product=new YH_PRODUCT(test.generate(),product.getProName(), Double.valueOf(product.getProPrice()),product.getProMeno(), product.getInputMan(),ts);
int result=productDao.addProduct(yh_product);
if (result==0){
request.setAttribute("saveProduct", "保存失败!");
}else if (result==1){
request.setAttribute("saveProduct", "保存成功!");
}
} 展开
2个回答
展开全部
contentType: "application/json;charset=utf-8", 你这里设置的是json格式;
data:JSON.stringify(product), 这个你转成字符串了,可能冲突了,你试试。
Javascript是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言。
于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。
展开全部
contentType: "application/json;charset=utf-8", 你这里设置的是json格式;
data:JSON.stringify(product), 这个你转成字符串了,可能冲突了,你试试
data:JSON.stringify(product), 这个你转成字符串了,可能冲突了,你试试
追问
那该怎么改呢,提示一下,
追答
response.setContentType("text/html;charset=UTF-8");
改为
response.setContentType("application/json;charset=UTF-8");
contentType: "application/json;charset=utf-8",
改为
contentType: "text/html;charset=utf-8",
试试
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询