Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:php还没学, 不必理会
$ajax(){}步骤:
- 设置请求类型 type:”GET/PAST” ,
- 设置请求地址 url: “ www.xxxxxxx.com” ,
- 发送数据 数据保存在date里面 date值是查询条件 date:” {id:1}” ,
- 设置服务器希望返回的数据类型 datetype:” html/json/…”,
- 请求成功后的回调函数 succes( 这里设置函数的参数 ){ 这里设置函数 }
跨域请求步骤:
1.设置请求类型
2.设置请求地址 +?id=*&json=?
3.设置希望服务器返回的数据类型
4.设置回调函数 (回调函数少的话这里可以直接设置回调函数,然后进行封装,可以省去第五步、第六步)
5.设置回调函数的参数
6.使用当前按钮的参数挂载到当前按钮兄弟节点的后面 :.after.("<div>").next().html(date),
date
是参数值保存的地方
html代码
<body>
<button>请求数据</button>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
<script>
$("button").click(function (ev) {
$.ajax({
// 请求类型
type: "GET",
// 请求URL
url: "TTT.php",
// 发送的数据
data: { id: 2 },
// 希望服务器返回的数据类型
dataType: "html",
// 成功的回调处理方法
success(data) {
$(ev.target).after("<div>").next().html(data);
console.log(data);
},
});
});
</script>
</body>
php代码,借鉴老师的稍微修改了一部分
<?php
// 二维数组来模拟数据表的查询结果
$users = [
['id' => 1, 'name' => '拿到了 id是1', ],
['id' => 2, 'name' => '拿到了 id是2', ],
['id' => 3, 'name' => '拿到了 id是3', ],
];
// $_REQUEST: 相当于 $_GET + $_POST + $_COOKIE 三合一
if (in_array($_REQUEST['id'], array_column($users, 'id'))) {
foreach ($users as $user) {
if ($user['id'] == $_REQUEST['id']) {
// vprintf(输出模板, 数组表示的参数)
vprintf('%s: %s ',$user);
// 以下语句配合$.getJSON()调用,其它请求时请注释掉
// echo json_encode($user);
}
}
} else {
die('<span style="color:red">没找到</span>');
}