Ajax跨域请求flask响应内容的解决办法

本文详细解析了Python中requests库的post和get方法的使用,以及Flask框架下如何通过修改响应头解决AJAX跨域问题。提供了具体的代码示例,包括设置Access-Control-Allow-Origin和Access-Control-Allow-Methods。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先解析一下python中的get和post的一些基本用法:

一、 requests.post() 、requests.get()、request.form.get() 和request.args.get()四者的区别和用法:

1、 requests.post():

参考:https://www.cnblogs.com/puresoul/p/7488700.html

2、requests.get()

参考:https://www.cnblogs.com/puresoul/p/7488488.html

3、flask获取参数方式:

request.form.get("key", type=str, default=None) 获取表单数据

request.args.get("key") 获取get请求参数

request.values.get("key") 获取所有参数

 

 

二、ajax中的跨域问题

主要技术:
修改服务器相应的响应头,使其可以相应任意域名。and设置响应头,使其能够响应POST或GET方法。

只需要加入下面三行代码即可轻松解决:

rst = make_response('bbb')
        rst.headers['Access-Control-Allow-Origin'] = '*'
        rst.headers['Access-Control-Allow-Methods'] = 'POST'

 

实现代码:
flask中的views.py代码示例:

from flask import make_response
@app.route('/test',methods=['get','post'])
def Test():
    if request.method=='GET':
        rst = make_response('aaa')
        rst.headers['Access-Control-Allow-Origin'] = '*' #任意域名
        return rst
    else:
        rst = make_response('bbb')
        rst.headers['Access-Control-Allow-Origin'] = '*'
        rst.headers['Access-Control-Allow-Methods'] = 'POST'  #响应POST
        return rst


html测试代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index</title>
</head>
<body>
    <input type="button" value="Ajax" onclick="DoAjax();" />
    <script src="sss/jquery-1.12.4.min.js"></script>
    <script>
        function DoAjax(){
            $.ajax({
                url:'http://ajax2.com/test',
                type:'POST',
                data:{'k1':'v1'},
                success:function(arg){ console.log(arg); },
            });
        };
    </script>
</body>
</html>

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值