【问题标题】:JS get request to external URLJS 获取对外部 URL 的请求
【发布时间】:2018-10-26 23:37:38
【问题描述】:

我想向外部 URL 发出请求并使用该 URL 的内容。 URL 的内容包含纯文本,但大约有 50,000 个字符。

所以我搜索了一下,找到了一些关键字,例如:Ajax 请求、获取请求、异步/同步、回调等。

但所有这些解决方案都很复杂。

根据这个标准,怎么可能是一个简单的例子:

谢谢。


更新:

请注意,示例网址已更改为新网址。

当我运行 GET 请求(例如使用此 Online GET request tool)时,我能够读取响应内容。它不像以前下载任何东西,只是显示内容。而这正是我想要做的。只需将此 URL 的“响应内容”写入 JS 中的变量,然后再使用它。

【问题讨论】:

  • “但所有这些解决方案都很复杂。”他们是吗?为什么不问一个你对什么感到困惑的问题。只有两个 API 可用于从浏览器中的 JavaScript 发出 HTTP 请求。 AJAX 和 Fetch API。

标签: javascript get request


【解决方案1】:

很简单

let request = new XMLHttpRequest();
request.open("GET", "http://www.example.org/example.txt", true);
request.onload = () => {console.log(request.responseText)}
request.send();

看看 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest

【讨论】:

  • 感谢您的快速回复。但是您的示例在执行 GET 请求时是否包括“异步”和“回调”的标准?
  • 你看到open() 的第三个参数了吗?这是一个async=true 值。最后,request.onload 设置了一个函数,当它在某个时间点返回时,它将console.log 请求的内容,也就是回调。
【解决方案2】:

你可以试试这个 https://developers.google.com/web/updates/2015/03/introduction-to-fetch

fetch('https://api.lyrics.ovh/v1/shakira/waka-waka')
  .then(
    function(response) {
      if (response.status !== 200) {
        console.log('Looks like there was a problem. Status Code: ' +
          response.status);
        return;
      }

      // Examine the text in the response
      response.json().then(function(data) {
        console.log(data);
      });
    }
  )
  .catch(function(err) {
    console.log('Fetch Error :-S', err);
  });

【讨论】:

  • 感谢您的快速回复。使用此 URL 可以正常工作。请注意,我已经更新了我的示例 URL。新 URL 更类似于真实 URL。使用新 URL 时会出现错误获取:-S....
  • 其实更新的url是直接下载浏览器点击的数据,能否分享一下url的文档来源。
  • 好吧,我没有找到任何关于此的文档。问题是,在这种 URL 的情况下,解决方案的外观如何。我想知道的是,如果您发出 GET 请求(例如使用此 URL httpdebugger.com/tools/ViewHttpHeaders.aspx),您将能够看到响应内容。它不像以前下载任何东西,只是显示内容。这正是我想要做的。只需将响应内容写入 JS 中的变量并稍后使用它。
【解决方案3】:

你可以使用Superagent,比jQuery更轻巧,比其他解决方案更兼容。你也可以找到一些例子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2016-04-03
    • 2022-01-10
    • 2018-12-08
    • 1970-01-01
    相关资源
    最近更新 更多