提前下结论:后端使用request.args获取参数跟请求的方式无关,只跟参数是否以url方式传输过来有关。
2.前端发起ajax请求,若是get类型的请求,系统会默认将定义的参数集params以?name=XXX&age=XXX的形式拼接为url地址,如果请求的原生的地址中本来就有?id=XXX,就会一同拼接,如下图详解:
注意:由于是get请求,后台视图函数中看到的还是原生的url地址,但是我们使用request.args可以正常获取参数
- 若上述的get请求改为post请求,那么我们在后台使用request.args访问参数id的值,使用request.form访问params参数集中各参数的值,亦如下图详解:
【结论】
基于以上三点的推论:若是get请求,无论是使用params定义参数还是url地址里包含参数,最终获取参数的方式为request.args,但是post请求也可以在url地址里包含参数,获取参数方式可能是 request.args 和 request.form 都有,所以说request.args方式获取参数并不是get请求独有,只要请求url地址里有?XX=XX字眼的,该参数就一定是通过request.args获取。