ajax 中application/json,ajax请求头添加contentType:“application/json“的作用

请求例子:

$.ajax({

dataType:'json',

url:"../rest/test",

dataType:"JSON",

async:false,

type:"POST",

contentType:"application/json",   //

data:JSON.stringify({"id":"1"}),  //如果不添加  contentType:"application/json" 则data必须是json对象,应该是{"id":"1"}

success : function(result){

console.log(result);

if(result.successful){

alert("删除成功!");

getTableData();

}else{

alert("删除失败!");

}

},

error:function(){

alert("删除失败!");

}

请求端:如果添加contentType:"application/json" ,则请求参数是json格式的字符串。如果不添加,入参是json对象。

接收端:

不添加添加contentType:"application/json":

方法一:

@RequestMapping(value = "/test", method = RequestMethod.POST)

public @ItemResponseBody Object removeProject(HttpServletRequest request) {

BufferedReader reader = null;

String line = "";

String xmlString = null;

try {

reader = request.getReader();

StringBuffer inputString = new StringBuffer();

while ((line = reader.readLine()) != null) {

inputString.append(line);

}

xmlString = inputString.toString();

} catch (Exception e) {

//                    throw new YppException(PayException.xmlParseError);

}

Map result = new HashMap();

result.put("result","succes");

return result;

}

方法二:

@RequestMapping(value = "/test", method = RequestMethod.POST)

public @ItemResponseBody Object editProject(@RequestBody Map map) {

String id=map.get("id").toString();

Map result = new HashMap();

result.put("result","succes");

return result;

}

添加添加contentType:"application/json":

@RequestMapping(value = "/test", method = RequestMethod.POST)

public @ItemResponseBody Object getCommonValue(HttpServletRequest request) {

String sspm = request.getParameter("id")==null?"":request.getParameter("id");

Map result = new HashMap();

result.put("result","success");

return result;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值