您的位置:首页 > 移动开发

通过接口提交数据,Content-Type应该是application/x-www-form-urlencoded还是application/json?

2018-01-13 19:56 501 查看
通过POST方式提交数据到接口的时候,常常会遇到这种句子:

webClient.Headers.Add("Content-Type", "application/json");


或者

webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");


那究竟应该用哪种方式?

答案是跟我们提交的参数格式有关。

如果是通过页面表单方式提交,那就是
"application/x-www-form-urlencoded"
;如果是json(要反序列化成字符串),那就是
"application/json"


对于
"application/x-www-form-urlencoded"
,其参数组织形式,是键值对,类似于get方式的参数形式:
name=张三&sex=男&tel=5354169
,而json大家都知道,是这样的:

{
name:"张三",
sex:"男",
tel:"5354169",
}


所以,如果你传递的参数是json,而你声明的header是
"application/x-www-form-urlencoded"
,或者没有声明这个”Content-Type”(似乎默认就是”application/x-www-form-urlencoded”),则服务器拿不到提交的数据。数据是传过去了,但读不出来。

反之应该也一样。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐