测试开发进阶(十五)
欢迎关注我呀~「测试游记」「zx94_11」
ajax
ajax技术的目的是让javascript发送http请求,与后台通信,获取数据和信息。
- 同步
- 异步
- 局部刷新
- 无刷新
ajax可以实现局部刷新,也叫做无刷新,无刷新指的是整个页面不刷新,只是局部刷新,ajax可以自己发送http请求,不用通过浏览器的地址栏,所以页面整体不会刷新,ajax获取到后台数据,更新页面显示数据的部分,就做到了页面局部刷新。
常用参数:
- url 请求地址
- type 请求方式,默认是’GET’,常用的还有’POST’
- dataType 设置返回的数据格式,常用的是’json’格式,也可以设置为’html’
- data 设置发送给服务器的数据
- success 设置请求成功后的回调函数
- error 设置请求失败后的回调函数
- async 设置是否异步,默认值是’true’,表示异步
集合实例
使用ajax发送账号密码信息
首先使用Flask编写一份简单的后台代码:
1 | from flask import Flask, request, jsonify |
request.form
获取到前端传递过来的内容,判断一下账号密码是否正确
- 正确:以
json
格式返回{'code': "1", "data": None, "msg": "成功"}
- 错误:以
json
格式返回{'code': "0", "data": None, "msg": "密码有误"}
1 |
|
前端html由两个输入框,一个按钮组成。现在点击登录
按钮触发ajax
请求
现在main.js
中写上
1 | $(function () { |
表示:页面加载完毕后执行的js代码
然后在写登录按钮的点击事件
1 | $('#dl').click(function (){ |
从html上拿到账号和密码:
1 | var user = $('#username').val(); |
发送ajax请求
1 | $.ajax({ |
可以编写.done
和.fail
来处理ajax发送成功和失败后的操作
现在做成,成功且状态码正确弹框提示「登录成功」,成功但状态码错误弹框提示「登录失败」,ajax发送失败提示「请求失败」
其中data
是请求后返回的内容
1 | .done(function (data) { //data:请求返回的参数 |
整体代码为:
1 | $('#dl').click(function () { |
关闭flask服务后
使用ajax获取并修改下拉框
事先准备好两段数据
1 | project_data = {"code": "1", |
现在需要使用get
来获取项目内容,所以flask
部分代码为:
1 | # 获取项目列表 |
所以我使用ajax
发送get
请求访问/pro_list
再把他写到下拉框里面就可以了
下拉框的修改采用字符串拼接的方式:var option = '<option value="' + res[i].id + '">' + res[i].title + '</option>';
用for
循环将它从数据中读取出来一个个填入
1 | // 当页面加载完毕之后,发送ajax请求获取项目和接口 |
接口部分下拉框是跟随项目的修改而改变的,所以需要使用change
并获取到项目的value
内容
1 | # 获取接口列表 |
后台代码中可以从request.form.get('pro_id')
看出,ajax需要传递一个pro_id
的属性
'pro_id': $(this).val()
就可以直接拿到下拉框的value
值了
1 | // 当页面上的项目选项选择了之后,发送请求获取该项目的接口 |
所以一份ajax请求为:
1 | $.ajax({ |