ajax post 表单和 json 字符串
在使用 koa2 的中间件 koa-bodyparser 解析客户端发来的 json 字符串时,发现解析异常,分析后发现,这锅 koa 不背,是发送 post 请求的问题。
【发送表单】
$.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 ***
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。