python中ajax的封装传参

该博客展示了如何在HTML中封装一个Ajax函数,并通过按钮点击触发GET和POST请求。同时,给出了一个使用Flask框架处理这些请求的Python代码示例,分别对应GET和POST方法,返回不同的响应信息。

Ajax 封装

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>07_ajax的封装传参</title>
</head>

<body>
    <h1>07_ajax的封装传参</h1>
    <input type="button" value="测试get参数" onclick="test1()" />
    <input type="button" value="测试post参数" onclick="test2()" />
    <script>
        function ajax(options) {
            var xhr = new XMLHttpRequest()
            var params = ''
            for (var atr in options.data) {
                params = params + atr + '=' + options.data[atr] + '&'
            }
            params = params.substr(0, params.length - 1)
            //get请求
            if (options.type == 'get') {
                options.url = options.url + "?" + params
            }

            xhr.open(options.type, options.url)
            //post请求
            if (options.type == 'post') {
                xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded')
                xhr.send(params)
            }else{
                xhr.send()
            }

            xhr.onreadystatechange = function () {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    console.log(xhr.responseText)
                }
            }
        }

        function test1() {
            ajax({
                type: 'get',
                url: '/login',
                data: { 'name': '吕小布', 'pwd': 123 }
            })
      
        }
        function test2(){
            ajax({
                type: 'post',
                url: '/login',
                data: { 'name': '吕小布', 'pwd': 123 }
            })
        }
    </script>
</body>

</html>
#导入模块
from flask import Flask, request, render_template  
                                                   
app = Flask(__name__)                              
                                                   
                                                   
@app.route('/login', methods=['GET', 'POST'])      
def login():                                       
    if request.method == 'GET':                    
        return 'get请求成功'                           
    elif request.method == 'POST':                 
        return 'post请求成功'
 @app.route('/fz02')                                  
def fz02():                                          
    return render_template('07_ajax的封装传参 copy.html')                           
                                                   

图片:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值