Flask and Ajax Post HTTP/1.1 400
Flask and Ajax Post HTTP/1.1" 400
太感谢https://stackoverflow.com/了,作者真的和牛,能解决问题
一下是转载的,mark一下,为了帮助更多的人。
If you are using the Flask-WTF CSRF protection you'll need to either exempt your view or include the CSRF token in your AJAX POST request too.
Exempting is done with a decorator:
@csrf.exempt可以不加
@csrf.exempt
@app.route("/json_submit", methods=["POST"])
def submit_handler():# a = request.get_json(force=True)app.logger.log("json_submit")return {}
To include the token with AJAX requests, interpolate the token into the page somewhere; in a <meta>
header or in generated JavaScript, then set a X-CSRFToken
header. When using jQuery, use the ajaxSetup
hook.
这下面需要加:
Example using a meta tag (from the Flask-WTF CSRF documentation):
<meta name="csrf-token" content="{{ csrf_token() }}">
and in your JS code somewhere:
var csrftoken = $('meta[name=csrf-token]').attr('content')$.ajaxSetup({beforeSend: function(xhr, settings) {if (!/^(GET|HEAD|OPTIONS|TRACE)$/i.test(settings.type)) {xhr.setRequestHeader("X-CSRFToken", csrftoken)}}
})
Your handler doesn't actually post JSON data yet; it is still a regular url-encoded POST
(the data will end up in request.form
on the Flask side); you'd have to set the AJAX content type to application/json
and use JSON.stringify()
to actually submit JSON:
var request = $.ajax({url: "/json_submit",type: "POST",contentType: "application/json",data: JSON.stringify({id: id, known: is_known}),
}) .done( function (request) {
})
and now the data can be accessed as a Python structure with the request.get_json()
method.
The dataType: "json",
parameter to $.ajax
is only needed when your view returns JSON (e.g. you used flask.json.jsonify()
to produce a JSON response). It lets jQuery know how to process the response.
Flask and Ajax Post HTTP/1.1 400相关推荐
- 教你如何使用flask实现ajax数据入库
本文分享自华为云社区<[首发]flask 实现ajax 数据入库,并掌握文件上传>,作者:梦想橡皮擦. flask 实现ajax 数据入库 在正式编写前需要了解一下如何在 python 函 ...
- flask 和 ajax 实例
flask 和 ajax 实例 项目结构: test.py from flask import Flask, render_template, request app = Flask(__name__ ...
- Flask使用ajax进行前后端交互
ajax前后端交互的使用已经非常普及了, 这种数据交互方式比表单提交数据带给用户的使用体验更好一些.同时,利用ajax交互时数据传输一般使用json,我们可以很方便的管理我们所需要的数据.只需要定义好 ...
- flask加ajax实现web微信
引言 web微信 创建二维码 模拟登录 获取验证信息 展示用户信息 获取全部用户信息 总结 引言 本篇内容为通过flask加ajax完成对web微信的模拟登录,直到获取到完整信息, web微信 web ...
- flask的ajax的csrf代码
1.ajax前端代码 Ajax本身是一门独立的技术,是实现前后端数据分离的一种措施,实现了局部请求, 所以ajax本身的代码不会因为后端框架变化而变化,变化的只有接口.以注册的用户 名重复作为校验. ...
- flask从服务器获取html页面,flask的ajax、获取服务器数据、放到前端页面、如果数据存在显示标签、如果不存在不显示标签...
-------------------------------------第一部分----------------------------------------------------------- ...
- Flask与Ajax
这篇短文使用jquery. Flask提供一个很简单的方法来处理Ajax请求--在视图函数中用request的属性is_xhr来判断,如果是true则是异步请求. Jquery的$.getJSON() ...
- flask和ajax,Flask flash和url_用于AJAX
我目前陷入了一个相当"大"的问题,我会尽量做到清晰和简洁. 我正在用Python开发一个工具,使用Flask.它应该是一个内部网.我的想法是我有一个客户页面.有它的名字,许多其他信 ...
- flask和ajax通信详细步骤与完整代码
##################################下面是思路############################################ flask的api至少写两个函数 ...
最新文章
- linux查看cpu监控日志,Linux:日志,cpu,memory,mount,load等系统信息查看
- 求一个数字是几位数(简便)
- 应理解计算机专业的学科特点,职业高中计算机专业测验试题编写的策略初探.doc...
- 数据集:各地区化妆品销量、人口数量和人均收入
- mysql个人记账系统_个人记账系统
- word实现多级自动编号
- Spring Cloud 中文网
- 【Python学习笔记】3. Python3 基础语法
- 查找和排序方法归类----C和C++
- sql查询包含某个字符_MySQL DBA基本知识点梳理和查询优化
- 《叶圣陶语文教育论集》的阅读笔记和读后感3400字
- e1000网卡驱动初感受
- 华中科技大学计算机考研书籍,2020年华中科技大学计算机应用技术考研经验分享...
- 改善脑力的70条方法[翻译]
- (java桌面应用程序)淘金者游戏及玩法介绍
- cmath模块——复数域数学函数模块
- 树莓派入门(十) 树莓派系统升级
- MathType怎么把公式替换成图片
- john破解系统密码(windows和kali)
- ros卸载和安装,问题总结
热门文章
- virtio-blk简介
- php ucwords,WordPress博客程序中Platinum SEO Pack SEO插件设置图解介绍
- lua 的正则表达式之坑
- 形式参数内存在哪java_深入浅出Java中JVM内存管理
- 使用eBPFbcc提取内核网络流量信息(二)
- 在windows上解压linux文件夹,Win10如何使用命令行来解压缩文件?
- cocos网络通信php,cocos2d-x网络编程 连接php服务器笔记2
- SSL与TLS的区别
- GitHub 大热!也许会成为你心中的OCR开源工具NO1!
- 停车30分钟内不收费,程序员远程操控挪车,实现自动免费停车...