近来仔细研究了一下常见的post请求的方式,对照,前端ajax发送post请求、使用postman工具发送post请求,以及后端接收请求的方式,把自己的感想记录下来,请大家批评指正。
一、首先记录一下前端ajax发送请求与postman之间的对照。
1、第一种形式的postman请求
其对应的前端代码:
前端ajax的写法
2、第二种形式的postman请求
其对应的前端代码形式:
POST /srm/list/getListInfo HTTP/1.1
Host: XXX.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: d856ef07-aac6-6db7-8ffb-ae71e9b95819
q=1&openId=1238574407267533293
3、第三种形式的postman请求
其对应的前端代码
POST /srm/list/getListInfo HTTP/1.1
Host: XXX.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: 38ab6287-b4d4-c06a-509f-8c4fb7d07012
{
"type":"1";
"openId":"1238574407267533293"
}
请注意2、3两种情况的固定参数的值是一样的,只是传输的形式不一致。
二、后端接收的情况
1和2都是从http请求的param中获取
第三种的后台处理方式:
三、关于postman发送请求的补充说明:
后端已经要求参数的形式是以form表单的形式提交,但是member是一个字符串形式的json对象,所以对应的postman的使用形式:
其中代码片段:
{"auth_key":"ozZ1ow80ekZoGXxKOPAW8IgROMmI","source":"10","is_trade":"0","follow_staff_id":"0","is_follow_mp":"1","follow_at":"2017-12-20 01:24:36"}
吸取的教训是:测试时一定要让异常抛出(方便找出问题),而正式环境则把这个代码去掉,方便返回数据的问题给调用方,