【发布时间】:2017-08-18 11:00:45
【问题描述】:
我想通过 fetch 发送一个 post 请求,但是它不起作用。
但是如果我通过 jQuery ajax 来做,它会成功。
我想知道这两种方式的区别,如果我在这里使用 fetch 有什么问题:
fetch('http://localhost:8888/news',{
method:"post",
data:"code=7&a=8&b=9"
}).then(function(data){
data.json().then(function (json) {
}
【问题讨论】:
-
fetch 在 IE 中不起作用:developer.mozilla.org/en-US/docs/Web/API/…
-
@Alex Fetch API 在 iOS Safari (10.2) 中也不起作用 caniuse.com/#search=fetch 但它在所有其他当前主流浏览器中都可以使用——包括桌面 Safari 和 Edge 14+
-
@Alex jquery 不是浏览器的一部分,如果你说
fetch不起作用,那么jquery也不会起作用。有些浏览器的 fetch polyfills 还没有原生实现。 -
@t.niese,jquery 不是一部分,因为它是库,可以在任何浏览器中使用,但 fetch 不是。 fetch 是 javascript 的一部分,而 javascript 是浏览器的一部分。
-
@Alex
fetch(与Promise不同)不是 javascript 语言功能,而是 web api 功能。但这不是我的意思。您可以使用polyfill 在支持XMLHttpRequest的浏览器中使用fetch。这就像你说你可以在旧浏览器中使用 bluebird 但没有 Promises,只是因为它们没有本地实现。
标签: jquery ajax html fetch-api