在原生JavaScript中,直接通过浏览器端的JavaScript访问HTTP接口获取数据通常涉及XMLHttpRequest对象或现代的fetch API。
- 使用XMLHttpRequest
XMLHttpRequest是一个老旧的API,但在某些情况下仍然很有用。以下是一个简单的例子:
javascrip
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200)
console.log(xhr.responseText); // 这里是返回的文本数据
};
xhr.send();
- 使用fetch API
fetch API是一个更现代、更强大且基于Promise的HTTP请求API。以下是一个使用fetch获取数据的例子:
javascript
fetch('https://api.example.com/data')
.then(response => response.json()) // 或者 response.text() 如果你知道返回的是文本
.then(data => console.log(data)) // 这里是返回的JSON数据
.catch((error) => {
console.error('Error:', error);
});
注意:
由于浏览器的同源策略(Same-Origin Policy),你可能无法直接通过JavaScript从与你的网页不同源的服务器获取数据。为了解决这个问题,你可以使用CORS(跨来源资源共享)或JSONP等技术。
在实际项目中,处理HTTP请求时通常会考虑更多的错误处理和边界情况。
如果你正在开发一个单页面应用(SPA)或复杂的Web应用,你可能会考虑使用像Axios或Fetch API的polyfill(如whatwg-fetch)这样的库来更方便地处理HTTP请求。