AJAX对于JAVA接收HttpServletRequest和json字符串两种方式的传递写法

4 篇文章 0 订阅
AJAX对于JAVA接收HttpServletRequest和json字符串两种方式的传递写法
1、json字符串的接收形式

  在JAVA项目开发中,接口的接收参数有的是以json字符串 形式接收的,后台写法如下:

public ObjectMapper jsonTranster = new ObjectMapper();
@CrossOrigin
    @RequestMapping(value="/add" ,method=RequestMethod.POST)
    public Object addZjLy(@RequestBody String po){
    FpzjLyb sq;
        try {
            sq = jsonTranster.readValue(po, FpzjLyb.class);
        } catch (IOException e) {
            return getResultMap(3);
        }
       //此处省略
    }

  对于这种的接收,前端ajax的写法如下:

var zzData = {
        id:1
    };
    zzData = JSON.stringify(zzData); //必写
    $.ajax({
        url: interUrl + "/fpzjZzsq/add",
        type: "POST", //必写(GET请求就写GET)
        dataType: "json", //必写
        contentType: "application/json", //必写
        data: zzData, 
        success: function (data) {
           //此处省略
        },
        error: function (data) {
            console.log("")
        }

    })
2、HttpServletRequest的接收形式

  有的是以HttpServletRequest 形式接收的,后台写法如下:

    @RequestMapping(value="/login",method=RequestMethod.POST)
    @ResponseBody
    public Object loginForm(HttpServletRequest request) {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        //以下省略
    }

  对于这种的接收,前端ajax的写法如下:

var qData = {
        username:lingdada,
        password:121212
    };
    $.ajax({
        type: "POST",
        url:"/fpzj/facade",
        contentType: "application/x-www-form-urlencoded",
        data: qData,
        success: function (data) {
           //此处省略
        },
        error: function (data) {
            console.log("")
        }
    });

  对于上边的注意地方是,contentType这个绝对不能写成那个application/json,因为这个是对json 才是用的,对于application/x-www-form-urlencoded ,亲测是有效,但是如果你前端项目里没有加上对于ajax的发送接口设置了一些初始的配置,我觉得,这个contentType可以不定义,但是你加上我这样的配置,绝对可以的。
对于x-www-form-urlencoded 的用法,我找了一篇文章,简单介绍了下它与json 的用法区别
选application/x-www-form-urlencoded还是application/json?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茁壮成长的凌大大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值