Ajax传json对象(jQuery) 您所在的位置:网站首页 ajax传值json Ajax传json对象(jQuery)

Ajax传json对象(jQuery)

2024-07-05 10:49| 来源: 网络整理| 查看: 265

Ajax传json对象

相信很多小伙伴想要通过Ajax传输json数据给后端,本来直接发送一个data: JSON.stringify(obj)就可以了,但是发现后端的请求参数中有一个参数需要int类型,这个时候就需要用到对象了。

封装对象

首先得到数据并封装对象 (我用的是jQuery)

obj = { "number": obj.number, "password": obj.password, "name": obj.name, "identity": obj.identity, "major": obj.major, "unit": obj.unit, "gender": obj.gender, "age": parseInt(obj.age), "id_number": obj.id_number };

可以看出这些数据里面只有“age”的value值被转换了,这个例子就是后端要求的请求参数中“age”的值是int类型

后端的小伙伴给我的api文档中他的要求是这样的 请求方法:POST

参数格式:json

请求参数:

{“number”:“2019081503”,“password”:“123456789”,“name”:“玛丽”,“identity”:“学生”,“major”:“计算机科学与技术”,“unit”:“计科195”,“gender”:“女”,“age”:23,“id_number”:“3600002”}

所以如果我直接data: JSON.stringify(obj)的话我发送过去的参数就成了

{“number”:“2019081503”,“password”:“123456789”,“name”:“玛丽”,“identity”:“学生”,“major”:“计算机科学与技术”,“unit”:“计科195”,“gender”:“女”,“age”:“23”,“id_number”:“3600002”}

这样就不能获得正确的返回参数

那么这个时候就需要封装对象然后在将对象给JSON.stringify()一下就好了

看代码

form.on('submit(saveBtn)', function (obj) { obj = obj.field; obj = { "number": obj.number, "password": obj.password, "name": obj.name, "identity": obj.identity, "major": obj.major, "unit": obj.unit, "gender": obj.gender, "age": parseInt(obj.age), "id_number": obj.id_number }; console.log("看看对象"); console.log(obj); console.log("看看JSON.stringify(obj)"); console.log(JSON.stringify(obj)); $.ajax({ type: "POST", contentType: 'application/json', url: "你的url", data: JSON.stringify(obj), dataType: 'json', success: function (data) { console.log("成功"); console.log(data); layer.alert('添加成功'); } }); return false; });

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有