fetch和jquery ajax有什么区别?

时间:2017-03-25 14:26:49

标签: jquery ajax html5 fetch-api

我想通过fetch发送一个帖子请求,但它不起作用。

但是如果我通过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) {
}

1 个答案:

答案 0 :(得分:21)

Fetch规范与jQuery.ajax()的不同之处主要有两种:

  1. 即使响应是HTTP 404或500,fetch()返回的Promise也不会拒绝HTTP错误状态。相反,它将正常解析(ok状态设置为false),它将仅拒绝网络故障或任何事情阻止请求完成。

  2. 默认情况下,fetch不会从服务器发送或接收任何Cookie,如果网站依赖于维护用户会话,则会导致未经身份验证的请求(要发送Cookie,必须设置凭据init选项)