request.json和request.form

来源:4-3 处理不同客户端注册的方案

老卢123123

2018-07-25

关于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)...这里面都问题也百度了很久,没有一个讲的很明白的,烦请老师务必讲解一下

写回答

1回答

7七月

2018-07-25

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

0
1
老卢123123
那如果我用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
共1条回复

Python Flask高级编程之RESTFul API前后端分离精讲

RESTFul+权限管理+token令牌+扩展flask=提升编程思维

2037 学习 · 359 问题

查看课程