获取与XMLHttpRequest可靠性

时间:2017-12-25 21:49:20

标签: 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 !== 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) {
    })

2 个答案:

答案 0 :(得分:2)

不要这样做:

mode: 'no-cors'

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

答案 1 :(得分:0)

删除模式:' no-cors'实际上把生命的反应带到了生命中。以防有人遇到同样的问题...... 所以仍然有一个问题,为什么fetch以这种方式工作,导致无人问津 当你没有得到任何反应时,它几乎没用。