请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

request.json和request.form

关于request.json和request.form,两者还是请老师讲一下

data = request.json
data1 = request.form

然后用分别用ajax和fetch以及python的requests来做post请求

fetch请求时,request.json获取到数据request.form获取不到数据

var data = {'name':'test'};

fetch('http://localhost:8000/v1/user/get', {
  method: 'POST', // or 'PUT'
  body: JSON.stringify(data), // data can be `string` or {object}!
  headers: new Headers({
    'Content-Type': 'application/json'
  })
}).then(res => res.json())
.catch(error => console.error('Error:', error))
.then(response => console.log('Success:', response));

------

使用ajax的时候,request.json获取不到数据request.form能获取到数据

$.ajax({
        url:"http://localhost:8000/v1/user/get",
        type:'post',
        dataType:'json',
        data:{'type':'ffxc','page':'1','per_page':'10'},
        success:function(result){
            console.log(result);
        }
    });


------

使用python的requests的post,request.json获取不到数据request.form能获取到数据

import requests
data = {'name':'test'}
url = '
r = requests.post(url, data=data)

------

另外,测试了小程序的request,request.json能获取到数据request.form获取不到数据


非常不解,request.json都无法获取到requests.post(url,data)...这里面都问题也百度了很久,没有一个讲的很明白的,烦请老师务必讲解一下

正在回答 回答被采纳积分+3

1回答

7七月 2018-07-25 20:48:08

我觉得你没有找到问题的本质,问题的本质在于 content-type是否设置成了application/json。如果是json的request.json才能获取到。小程序request默认设置了application/json

0 回复 有任何疑惑可以回复我~
  • 提问者 老卢123123 #1
    那如果我用python,调用我们的这个book接口,使用requests库。
    import requests
    data = {'name':'test'}
    url = '
    r = requests.post(url, data=data)
    
    岂不是用不了接口么
    还是说,我们的接口要做判断,
    if request.form:
        do sth
    elif request.json:
        do sth
    else:
        do sth
    回复 有任何疑惑可以回复我~ 2018-07-25 21:37:27
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号