关于后台接收参数为null的问题之ajax--contentType


ajax方法中的参数:
contentType:发送至服务器时内容的编码类型, 一般默认: application/x-www-form-urlencoded (适应大多数的场合)
dataType:预期服务器返回的数据类型

有时候前台ajax向后台传数据的时候,能够进到后台,但是后台显示接受的参数为 null ,如果ajax没有问题,这个时候就要考虑后台在接收参数的时候使用的是什么注解。(@RequestParam还是@RequestBody)
    public HttpResponseEntity selectByCollege(@RequestParam Map<String,Object> collegeName) {
   
   
  
  
使用 @RequestParam : (推荐这个)
contentType:" application/x-www-form-urlencoded "
data:{'college',college}
使用 @RequestParam ,可以不用写contentType,
application/x-www-form-urlencoded是contentType的默认值
使用 @RequestBody 时:
 接收的是json字符串格式的数据,
 需要将 contentType写成:' application/json ',
  data:Json.Stringly(da)(将对象变成字符串)
 let da = {'state':state};
    
    
   
   

     
     
    
    
  1. $.ajax({
  2. type: "POST",
  3. url: httpUrl + "/insertInfo",
  4. dataType: 'json',
  5. data: JSON.stringify(da),
  6. contentType: "application/json",
  7. success: function (result) {
  8. console.log(result);
  9. $( '#ModalInfo').modal( 'hide');
  10. },
  11. error: function () {
  12. console.log( '错误')
  13. }
  14. })

这样就可以解决后台接不到参数的问题啦!!!!


版权声明:本文为博主原创文章,未经博主允许不得转载。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM