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

相关推荐
要加油哦~16 分钟前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
一个public的class26 分钟前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
青茶36035 分钟前
php怎么实现订单接口状态轮询请求
前端·javascript·php
火车叼位1 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
VT.馒头1 小时前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
鱼毓屿御2 小时前
如何给用户添加权限
前端·javascript·vue.js
JustHappy2 小时前
「web extensions🛠️」有关浏览器扩展,开发前你需要知道一些......
前端·javascript·开源
xixixin_2 小时前
【JavaScript 】从 || 到??:JavaScript 空值处理的最佳实践升级
开发语言·javascript·ecmascript
belldeep2 小时前
python:用 Flask 3 , mistune 2 和 mermaid.min.js 10.9 来实现 Markdown 中 mermaid 图表的渲染
javascript·python·flask
凉辰2 小时前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频