var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost:3000/get'); xhr.send();
时间: 2024-04-05 07:34:14 浏览: 233
这是一个使用 XMLHttpRequest 对象发送 GET 请求的 JavaScript 代码示例。XMLHttpRequest 对象是浏览器提供的 API,可以用于在不重新加载页面的情况下向服务器发送 HTTP 请求,并接收服务器的响应。代码中,我们首先创建一个 XMLHttpRequest 对象,然后通过 xhr.open() 方法指定请求的方法和 URL。在本例中,我们向本地的 Web 服务器发送 GET 请求,请求的 URL 为 'http://localhost:3000/get'。最后,我们通过 xhr.send() 方法发送请求。当服务器返回响应时,可以通过监听 xhr 对象的 readyState 和 status 属性变化的事件,获取服务器的响应数据。
相关问题
var urlMap = { "http://localhost.hihonor.com:8222/truss/bigcs/workspace/env": "http://localhost.hihonor.com:8222/truss/bigcs/workspace/current", }; var originalXhr = window.XMLHttpRequest; window.XMLHttpRequest = function () { var xhr = new originalXhr(); var originalOpen = xhr.open; xhr.open = function (method, url, async, user, password) { url = modifyUrl(url); originalOpen.call(xhr, method, url, async, user, password); }; return xhr; }; function modifyUrl(url) { var newUrl = urlMap[url] || url; return newUrl; }
这段代码的作用是拦截 XMLHttpRequest 的请求,然后将请求的 URL 映射到另一个 URL。具体来说:
1. 首先,定义了一个 `urlMap` 对象,其中包含了一些映射关系,将某个 URL 映射到另一个 URL。
2. 然后,覆盖了 `window.XMLHttpRequest` 构造函数,即重写了浏览器原生的 XMLHttpRequest 对象。在新的 XMLHttpRequest 对象中,重写了 `open` 方法,将请求的 URL 修改为映射后的 URL。
3. 最后,返回新的 XMLHttpRequest 对象。
这样,当应用程序发起 XMLHttpRequest 请求时,就会被拦截,并修改请求的 URL,使其符合预期的映射关系。注意,这种方式只对 XMLHttpRequest 请求有效,对于使用 Fetch API 发起的请求,需要另外的方式进行拦截。
<!DOCTYPE html> <html> <head> <title>XMLHttpRequest Demo</title> </head> <body> <h1>XMLHttpRequest Demo</h1> <p id="response"></p> <script> window.onload = function () { interceptRequest(); makeRequest(); }; function interceptRequest() { var xhr = new XMLHttpRequest(); var originalOpen = xhr.open; xhr.open = function(method, url, async) { console.log("拦截原请求,发送新请求..."); var newUrl = "https://example.com/new-api"; originalOpen.call(this, method, newUrl, async); }; xhr.send(); } function makeRequest() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState === 4 && xhr.status === 200) { document.getElementById("response").innerHTML = xhr.responseText; } }; xhr.open( "GET", "http://finance-sit.test.hihonor.com/fin/eipm/dom/servlet/environment", true ); xhr.send(); } </script> </body> </html>
这段代码是一个使用 XMLHttpRequest 对象进行 AJAX 请求的示例。其中,makeRequest 函数使用 XMLHttpRequest 对象发出一个 GET 请求,并将响应的内容显示在页面上。而 interceptRequest 函数使用 XMLHttpRequest 对象拦截原本的请求,将其重定向到一个新的 URL 上。当拦截到原请求时,该函数会打印一条消息并发送一个新的请求。
阅读全文