Javascript Fetch与XMLHttpRequest可靠性

Javascript Fetch与XMLHttpRequest可靠性,javascript,xmlhttprequest,fetch,Javascript,Xmlhttprequest,Fetch,我无法找出为什么XMLHttpRequest有效,而使用fetch或axiom无效。端点是常量。 下面是要比较的代码。。。 XMLHttpRequest实际上返回文本, fetch不返回任何内容 var r = new XMLHttpRequest() r.open('GET', 'http://localhost:1337/ticks', true) r.onreadystatechange = function () { if (r.readyState !=

我无法找出为什么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) {
    })

移除模式:“无cors”实际上将身体的反应带到了生命中。万一有人有同样的问题。。。 所以仍然有一个问题,为什么fetch是这样工作的,因为没有cors
当你没有反应体的时候,它几乎是无用的。

移除模式:“无cors”实际上会将反应体带入生命。万一有人有同样的问题。。。 所以仍然有一个问题,为什么fetch是这样工作的,因为没有cors 当你没有得到响应时,它几乎是无用的。

不要这样做:

它告诉fetch您想发出请求(告诉服务器一些事情),但不想读取响应(这可能被同源策略禁止)。此设置允许您这样做,而不会抛出通常会出现的错误。由于您说过不想读取响应,fetch不会尝试使响应对您可用。

不要这样做:


它告诉fetch您想发出请求(告诉服务器一些事情),但不想读取响应(这可能被同源策略禁止)。此设置允许您这样做,而不会抛出通常会出现的错误。由于您说过不想读取响应,fetch不会尝试使响应对您可用。

该代码已被破坏。您是否尝试在回迁回调中使用
console.log(response)
?当然,我附加了断点,回迁中的response.ok为false,因此调用失败,但是,在同一次运行中,xmlhttprequest works不会中断;)在
fetch
设置中,您可能需要
凭据:“同源”
。检查开发工具中的网络选项卡。在请求/响应头或正文中是否存在任何差异?在网络选项卡中,响应看起来非常正常,其内容在这两种情况下都应该具有(fetch和xmlhttprequest)。所以网络层工作了,代码被破坏了。您是否尝试在回迁回调中使用
console.log(response)
?当然,我附加了断点,回迁中的response.ok为false,因此调用失败,但是,在同一次运行中,xmlhttprequest works不会中断;)在
fetch
设置中,您可能需要
凭据:“同源”
。检查开发工具中的网络选项卡。在请求/响应头或正文中是否存在任何差异?在网络选项卡中,响应看起来非常正常,其内容在这两种情况下都应该具有(fetch和xmlhttprequest)。因此,网络层可以工作。
mode: 'no-cors'