ajax请求头添加contentType:“applicationjson“的作用

    技术2022-07-11  127

    请求例子:

    $.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<String,Object> result = new HashMap<String, Object>();             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<String,Object> result = new HashMap<String, Object>();             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<String,Object> result = new HashMap<String, Object>();             result.put("result","success");             return result;         }

    Processed: 0.031, SQL: 9