原生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请求。

相关推荐
奶糖 肥晨9 分钟前
JS自动检测用户国家并显示电话前缀教程|vue uniapp react可用
javascript·vue.js·uni-app
啊花是条龙25 分钟前
《产品经理说“Tool 分组要一条会渐变的彩虹轴,还要能 zoom!”——我 3 步把它拆成 1024 个像素》
前端·javascript·echarts
青茶36042 分钟前
【js教程】如何用jq的js方法获取url链接上的参数值?
开发语言·前端·javascript
晴栀ay1 小时前
React性能优化三剑客:useMemo、memo与useCallback
前端·javascript·react.js
知其然亦知其所以然1 小时前
别再死记硬背了,一篇文章搞懂 JS 乘性操作符
前端·javascript·程序员
json{shen:"jing"}2 小时前
08_组件基础
前端·javascript·vue.js
菩提祖师_2 小时前
基于VR的虚拟会议系统设计
开发语言·javascript·c++·爬虫
hongkid2 小时前
React Native 如何打包正式apk
javascript·react native·react.js
菩提祖师_2 小时前
量子机器学习在时间序列预测中的应用
开发语言·javascript·爬虫·flutter
未来之窗软件服务3 小时前
幽冥大陆(九十二 )Gitee 自动化打包JS对接IDE —东方仙盟练气期
javascript·gitee·自动化·仙盟创梦ide·东方仙盟