JS发送http请求(get方式)

本文介绍两种使用JavaScript发起HTTP GET请求的方法。第一种方法通过设置超时处理和状态改变监听来实现请求控制;第二种方法则直接利用XMLHttpRequest对象进行简单快速的请求处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	// 方式一
	var url = "http://127.0.0.1:19196/openDevice";
	var time = 5000;
	var timeout = false;
	var request = new XMLHttpRequest();
	var timer = setTimeout(function() {
		timeout = true;
		request.abort();
	}, time);

	request.open("GET", url, true);
	request.onreadystatechange = function() {
		if (request.readyState !== 4) {
			return;
		}
	
		if (timeout) {
			dorado.MessageBox.alert("out");
			return;
		}
	
		clearTimeout(timer);
	
		if (request.status === 200) {
			callback(request.responseText);
		}
	};
	request.send(null);
	// 方式二
	var xhr = new XMLHttpRequest();
	xhr.open('GET', 'http://127.0.0.1:19196/OpenDevice', true);
	// xhr.withCredentials = true; // 如果需要的话
	
	xhr.onreadystatechange = function() {
	    if (xhr.readyState === 4 && xhr.status === 200) {
	        console.log(JSON.parse(xhr.responseText));
	    }
	};
	
	xhr.send();

### 使用原生JavaScript发送GET类型的AJAX请求 对于使用原生JavaScript发送GET类型的AJAX请求,可以通过`XMLHttpRequest`对象或者现代浏览器支持的`fetch` API来完成。下面分别介绍这两种方式。 #### 使用 `XMLHttpRequest` 这是传统的做法,在较旧版本的浏览器上兼容性较好: ```javascript 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(null); // For GET requests, this can be null. ``` 此段代码展示了如何创建一个新的HTTP请求并监听其状态变化以便处理响应数据[^1]。 #### 使用 Fetch API Fetch提供了一个更简洁易读的方法来进行网络请求操作,并且默认采用Promise机制简化异步编程流程: ```javascript fetch('https://api.example.com/data') .then(response => response.json()) // Assuming JSON format; adjust accordingly .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` 这段代码片段说明了利用`fetch()`函数发起GET请求的过程,它接受目标资源地址作为参数,并通过链式`.then()`方法处理成功返回的数据或错误情况。 值得注意的是,虽然两者都能很好地工作,但是推荐尽可能多地转向使用`fetch` API,因为它具有更好的语法糖特性并且解决了诸如自动解析JSON等问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值