Ajax Get 请求 API
一、什么是 Ajax Get 请求
Ajax(Asynchronous JavaScript and XML)即异步 JavaScript 和 XML,它允许网页在不重新加载整个页面的情况下,与服务器进行数据交互,Ajax Get 请求是其中一种常用的方式,通过 HTTP 的 GET 方法向服务器发送请求获取数据。
二、Ajax Get 请求的语法
以下是使用原生 JavaScript 中XMLHttpRequest
对象发送 Ajax Get 请求的基本语法:
步骤 | 代码示例 | 说明 |
创建 XMLHttpRequest 对象 | var xhr = new XMLHttpRequest(); | 实例化一个用于发送请求的对象 |
配置请求 | xhr.open('GET', 'https://example.com/api/data', true); | 第一个参数为请求方法(’GET’),第二个参数为请求的 URL,第三个参数表示是否异步(true 为异步) |
发送请求 | xhr.send(); | 发送请求到服务器 |
设置响应处理函数 | xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } }; | 当请求完成且服务器响应状态码为 200 时,处理响应数据(这里简单地将响应文本输出到控制台) |
三、Ajax Get 请求的示例
以下是一个具体的示例,假设我们要从一个提供天气数据的 API 获取某个城市的天气信息:
步骤 | 代码示例 | 说明 |
HTML 部分 |
| 创建一个基本的 HTML 页面,包含一个用于显示天气信息的div 元素和引入外部 JavaScript 文件的脚本标签 |
JavaScript 部分(script.js) | “javascript var city = "Beijing"; var apiKey = "your_api_key_here"; var url = "https://api.weatherapi.com/v1/current.json?key=" + apiKey + "&q=" + city; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var response = JSON.parse(xhr.responseText); document.getElementById('weather').innerHTML = "城市:" + response.location.name + " `
| 首先定义要查询的城市和 API 密钥,然后拼接请求 URL,接着创建XMLHttpRequest` 对象并配置请求,设置响应处理函数,在请求完成后解析响应数据并将其显示在页面上 |
四、常见问题与解答
问题 1:如果服务器返回的状态码不是 200,应该如何处理?
解答:可以在响应处理函数中添加对不同状态码的判断和相应的处理逻辑。
“javascript xhr.onreadystatechange = function() { if (xhr.readyState == 4) { switch (xhr.status) { case 200: var response = JSON.parse(xhr.responseText); document.getElementById('weather').innerHTML = "城市:" + response.location.name + "<br>温度:" + response.current.temp_c + "°C"; break; case 404: alert("请求的资源未找到"); break; case 500: alert("服务器内部错误"); break; default: alert("发生未知错误,状态码:" + xhr.status); } } };
“
这样可以根据不同的状态码弹出相应的提示框,告知用户具体的错误信息。
问题 2:如何在发送 Ajax Get 请求时传递参数?
解答:在请求 URL 中可以直接添加参数,参数之间用&
连接,如果要查询城市名称为 “Shanghai” 的天气信息,并且想要获取中文格式的数据,可以这样写 URL:
“javascript var city = "Shanghai"; var apiKey = "your_api_key_here"; var url = "https://api.weatherapi.com/v1/current.json?key=" + apiKey + "&q=" + city + "&lang=zh";
“
这里的lang=zh
就是传递的一个参数,用于指定返回数据的语言为中文。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1653286.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复