What is the difference between fetch and jquery ajax?

Zuckjet picture Zuckjet · Mar 25, 2017 · Viewed 17.1k times · Source

I want to send a post request through fetch, but it does not work.

But if I do it through jQuery ajax, it succeeds.

I want to know the difference of the two way and if there is anything wrong in my use of fetch here:

fetch('http://localhost:8888/news',{
    method:"post",
    data:"code=7&a=8&b=9"
}).then(function(data){
     data.json().then(function (json) {
}

Answer

Rytis Dereskevicius picture Rytis Dereskevicius · Dec 3, 2017

Fetch specification differs from jQuery.ajax() in mainly two ways:

  1. The Promise returned from fetch() won’t reject on HTTP error status even if the response is an HTTP 404 or 500. Instead, it will resolve normally (with ok status set to false), and it will only reject on network failure or if anything prevented the request from completing.

  2. By default, fetch won't send or receive any cookies from the server, resulting in unauthenticated requests if the site relies on maintaining a user session (to send cookies, the credentials init option must be set).