原生js访问http获取数据的方法

在原生JavaScript中,直接通过浏览器端的JavaScript访问HTTP接口获取数据通常涉及XMLHttpRequest对象或现代的fetch API。

  1. 使用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();

  1. 使用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请求。

相关推荐
whatever who cares16 小时前
Vue3中vue文件和composables的分工
前端·javascript·vue.js
十正16 小时前
Claude code源码精读之蜂群模式
javascript·人工智能·agent·claude code
薛先生_09916 小时前
vue-编程式跳转-基本跳转
前端·javascript·vue.js
AI_零食17 小时前
健身室器材管理系统鸿蒙PC Electron框架编写深度解析
前端·javascript·学习·华为·electron·前端框架·鸿蒙
如烟花的信页17 小时前
易盾点选逆向分析
javascript·爬虫·python·js逆向
ZC跨境爬虫17 小时前
跟着 MDN 学 JavaScript day_2:JavaScript 初体验
开发语言·前端·javascript·学习·ecmascript
小妖66617 小时前
Hydration completed but contains mismatches
javascript·vue·vuepress
睡觉的时候不困618 小时前
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
javascript
AI英德西牛仔18 小时前
Claude 导出 pdf 颜色不一样怎么办,选用 AI 导出鸭优化格式转换,多维度落地修正 PDF 色彩失真问题
javascript·人工智能·ai·chatgpt·pdf·deepseek·ai导出鸭
右耳朵猫AI18 小时前
JS/TS周刊2026W21 | Deno2.8RC、Angular22RC、TypeORM1.0
开发语言·javascript·ecmascript