fetch和jquery ajax有什么区别?

我想通过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规范与jQuery.ajax()不同之处主要有两种:

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

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