flask-CORS解决juqery的AJAX浏览器仅发送options请求,没有发送post解决方案

flask-CORS解决浏览器juqery的AJAX仅发送options请求,没有发送post解决这问题困扰了我好久,百度上的办法都试了个遍,我无意去flask-cors官方文档中看到一个@cross_origin()装饰器,用了一下完美解决了我的困扰
前端代码:

function aa() {
			$.ajax({
				type: "POST",
				timeout: 10000,
				dataType:"json",
				headers: {
					'Authorization': "Bearer "
					+"eyJleHAiOjE1Mzk0NTUxNzEsImFsZyI6IkhTMjU2IiwiaWF0IjoxNTM5NDUzMzcxfQ.eyJ1c2VybmFtZSI6IkpvaG4ifQ.cO4qUc82GN24cTN4djnQSFU0-eu4IydUvBweAZkk0bk",
				},
				url: "http://localhost:5000",
				success: function(data) {
					console.log(data)
				},
			});
		}

flask:

from flask_cors import CORS, cross_origin
CORS(app, supports_credentials=True, resources=r'/*')
@app.route('/',methods=["POST"])

@cross_origin()#通过装饰路线具体CORS 

@auth.login_required
def index():
    if request.method == "POST":
        return jsonify({'22': '22'})

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先,需要在 Python 中安装 Flask 或 Django 等 Web 框架来处理 HTTP 请求。以 Flask 为例,以下是一个简单的示例: ```python from flask import Flask, request app = Flask(__name__) @app.route('/post', methods=['POST']) def post(): data = request.json # 处理数据 return 'success' if __name__ == '__main__': app.run() ``` 在这个示例中,我们创建了一个名为 app 的 Flask 实例,并定义了一个 /post 的路由,该路由只接受 POST 请求。当有 POST 请求到达时,Flask 将自动解析请求体中的 JSON 数据,并将其作为 python 字典类型存储在 request.json 中。我们可以在 post() 函数中访问这个字典,从而对数据进行处理。最后,将 'success' 字符串作为响应返回。 在前端部分,可以使用 jQuery 的 $.ajax() 方法来发送 POST 请求,如下所示: ```javascript $.ajax({ url: '/post', type: 'POST', contentType: 'application/json', data: JSON.stringify({key1: 'value1', key2: 'value2'}), success: function(response) { console.log(response); }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); } }); ``` 在这个示例中,我们将请求的 URL 设置为 /post请求类型设置为 POST,并将请求的数据设置为一个包含 key1 和 key2 两个字段的 JSON 对象。注意,我们还需要将 contentType 设置为 application/json,以便告诉服务器发送的数据是 JSON 格式。如果请求成功,控制台将打印 'success';否则,将打印请求失败的错误信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值