前端给后端传输的数据格式和后端接收数据的方式
前端请求时的数据格式
1、地址栏传输数据
1)、Query String Parameters:
当请求方式是GET时,浏览器会使用查询字符串的方式进行传递数据,即:Query String Parameters
查询字符串的规则:请求参数使用 URL地址和“问号传参“ 的方式进行传递————用问号把URL和请求参数分开。
请求参数的格式:以键值对的方式体现,多个键值对之间用&隔开。
假设:请求地址为 newsList.php。请求参数是pageIndex和pageCount。
那么,请求的格式为:newsList.php?pageIndex=1&pageCount=10;
如下图,请求方式为GET,在Chrome浏览器的Network里看到的是:Query String Parameters
2、 请求体中传输数据
当请求方式不是GET(大部分情况是POST或PUT)时,那么请求的数据不是在URL上,而是在请求体里。请求体的英文就是:Request Payload。但是chrome浏览器针对不同的Content-Type有做了区分,分别是FormData和Request Payload。
1)、FormData
Content-Type的值是" application/x-www-form-urlencoded"或者 multipart/form-data; boundary=WebKitFormBoundaryBoMA1XQDUpwpxKQg 时,那么,就是用的是FormData的格式传递数据
2)、Request Payload
Content-Type的值是" text/plain"或者"application/json" 时,那么,就是用的是Request Payload的格式传递数据
附:默认的数据格式:
1、传统的Ajax请求时候,Content-Type默认为"文本"类型。
2、传统的Form提交的时候,Content-Type默认为"Form"类型( application/x-www-form-urlencoded )
3、Axios传递字符串的时候,Content-Type默认为"Form"类型( application/x-www-form-urlencoded )
4、Axios传递对象的时候,Content-Type默认为"JSON"类型(( application/json)