获取与XMLHttpRequest可靠性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取与XMLHttpRequest可靠性相关的知识,希望对你有一定的参考价值。

我无法找到,为什么XMLHttpRequest工作并使用fetch或axiom不起作用。端点是不变的。这是要比较的代码... XMLHttpRequest实际上返回文本,fetch不返回任何内容

var r = new XMLHttpRequest()
    r.open('GET', 'http://localhost:1337/ticks', true)
    r.onreadystatechange = function () {
        if (r.readyState !== 4 || r.status !== 200) {
            return
        }
    }
    r.send()

    fetch('http://localhost:1337/ticks', {
            method: 'GET',
            mode: 'no-cors'
            }).then(function (response) {
                return response.text()
            }).then(function (text) {
                console.log(text)
    }).catch(function (error) {
    })
答案

不要这样做:

mode: 'no-cors'

它告诉fetch你想要发出请求(告诉服务器一些东西)但是不想读取响应(可能被同源策略禁止)。此设置允许您执行此操作而不会抛出通常会得到的错误。由于您说您不想阅读响应,因此fetch不会尝试为您提供响应。

另一答案

删除模式:'no-cors'实际上将响应的主体带入生活。以防万一有人遇到同样的问题......所以仍然有一个问题,为什么fetch会以这种方式工作,因为当你没有得到任何响应体时,无人就无用了。

以上是关于获取与XMLHttpRequest可靠性的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用

XMLHTTPRequest对象不能跨域获取数据?!

《安富莱嵌入式周报》第279期:强劲的代码片段搜索工具,卡内基梅隆大学安全可靠C编码标准,Nordic发布双频WiFi6 nRF7002芯片

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段

来自 android 的 XMLhttprequest 从 ATG 服务器获取响应

在 php 中,如何获取 XMLHttpRequest 的 send() 方法的文本/纯文本值