ajax请求头信息设置问题

ajax在请求的时设置Content-Type:application/x-www-form-urlencoded; charset=UTF-8这种,什么时候有这种需要呢?

阅读 3.8k
1 个回答

这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。请求类似于下面这样:

POST http://www.example.com HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8

title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。
例如 PHP 中,$_POST['title'] 可以获取到 title 的值,$_POST['sub'] 可以得到 sub 数组。

另外还有multipart/form-data,传输二进制数据必须用此类型,如上传文件。

application/json,向服务器传送的是序列化后的json字符串,这种方案,可以方便的提交复杂的结构化数据,

更多可以看标准咯:https://www.w3.org/TR/html401...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题