当我们使用ajax提交json格式数据到后台时,后台需要进行一些特殊的操作才能正确地获取到这些数据。
首先,我们需要在ajax的配置中设置contentType为application/json,表示我们要发送的数据是一个json格式的数据。
$.ajax({ url: '/api/user',type: 'POST',dataType: 'json',contentType: 'application/json',data: JSON.stringify({ 'username': 'tom','password': '123456' }),success: function(data) { //success callback },error: function(xhr,status,error) { //error callback } });
从上面的代码可以看出,我们使用JSON.stringify()方法将一个对象转换为json字符串,然后将其作为data提交到后台。
在后台我们需要使用request的get_reader()方法获取到数据流,然后使用json.loads()方法将其转换为json格式的对象。
import json from aiohttp import web async def user_handler(request): data = await request.json() username = data['username'] password = data['password'] return web.Response(status=200) app = web.Application() app.router.add_post('/api/user',user_handler) web.run_app(app,port=8000)
在上面的代码中,我们使用json.loads()方法将获取到的json字符串转换为json对象,然后从中获取username和password值。
通过这些操作,我们就可以使用ajax提交json格式数据到后台,并正确地获取到这些数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。