ajaxpost表单和json字符串

        在使用 koa2 的中间件 koa-bodyparser 解析客户端发来的 json 字符串时,发现解析异常,分析后发现,这锅 koa 不背,是发送 post 请求的问题。

成都创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为扎囊企业提供专业的网站建设、成都网站设计,扎囊网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

【发送表单】

$.ajax({
    type: "post",
    url: '/dosomething',
    data: {'a':'A', 'b':1, 'c': true},
    success: function (data) {
        // TODO
    },
    error: function () {
        // TODO
    }
});

        此时,http 请求头里面

Content-Type: application/x-www-form-urlencoded

        http 请求的 body,

a=A&b=1&c=true

        这种情况下,服务端通常会把所有参数的值解析为字符串。

【发送 json 字符串】

$.ajax({
    type: "post",
    url: '/dosomething',
    data: JSON.stringify({'a':'A', 'b':1, 'c': true}),
    contentType: 'application/json',    // 这句很重要
    success: function (data) {
        // TODO
    },
    error: function () {
        // TODO
    }
});

        此时,http 请求头里面

Content-Type: application/json

        http 请求的 body,

{"a":"A","b":1,"c":true}

        这种情况下,服务端可以分别解析得到字符串、数字、布尔类型的参数。

*** walker ***


分享文章:ajaxpost表单和json字符串
转载注明:http://ybzwz.com/article/gcgpdd.html