假设:点击“提交”按钮时,发送异步请求,请求的目标uri是"/sayHi", 参数为name,它的值是“web” (1)使用原生JavaScript发送get请求,响应结果为“Hi, web2022”,显示在控制台 (2)使用原生JavaScript发送post请求,响应结果为JSON串{ "msg", "Hello, 20th grade”},将msg属性值显示在弹窗中 要求:前后端代码中注明必要的注释
时间: 2023-06-09 12:03:46 浏览: 106
很好,让我们开始吧!
对于你的第一个问题,我提供以下代码示例:
(1)使用原生JavaScript发送get请求
```javascript
// 定义请求的目标URI和参数
const uri = "/sayHi";
const params = "name=web";
// 创建一个XMLHttpRequest对象
const xhr = new XMLHttpRequest();
// 指定请求类型和请求目标URI
xhr.open("GET", `${uri}?${params}`);
// 监听xhr对象的readystatechange事件,处理响应结果
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
// 发送请求
xhr.send();
```
请注意,在此代码中,我们创建了一个XMLHttpRequest对象,并使用open()方法指定了请求类型和请求目标URI。我们还将查询字符串参数作为URI的一部分传递。在我们监听xhr对象的readystatechange事件的同时,在onreadystatechange事件中处理响应结果。如果响应就绪并且状态码为200,则打印响应文本。
(2)使用原生JavaScript发送post请求
```javascript
// 定义请求的目标URI和参数
const uri = "/sayHi";
const params = "name=web";
// 创建一个XMLHttpRequest对象
const xhr = new XMLHttpRequest();
// 指定请求类型和请求目标URI
xhr.open("POST", uri);
// 设置请求头,指定请求参数类型
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// 监听xhr对象的readystatechange事件,处理响应结果
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
const responseJSON = JSON.parse(xhr.responseText);
alert(responseJSON.msg);
}
};
// 发送请求,将查询字符串参数作为请求体
xhr.send(params);
```
在此示例中,我们如前所述指定了请求类型和目标URI。然而,我们还设置了请求头为application/x-www-form-urlencoded类型,并通过send()方法将以查询字符串参数的形式传递的参数发送到服务器。在处理响应的onreadystatechange事件中,我们将响应文本解析为JSON对象,并将msg属性的值显示在弹窗中。
请注意,通过设置请求头和请求体,我们确保了POST请求的参数被正确编码并发送到服务器的预期位置。
希望这能帮助你回答你的问题!如果你有更多的问题,请随时问我,我会乐意回答。
阅读全文