4 ms·
JQUERY: await $.post({ url: '/my/url', data: data }).then(() => {}); VANILLA: await fetch('/my/url', { method: 'POST', headers: { 'C
by peebeebee 3y ago
JQUERY:
await $.post({
url: '/my/url',
data: data
}).then(() => {});
VANILLA:
await fetch('/my/url', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
}).then(() => {});
I know which one I still prefer.
- hoten 3y agoYou don't need that then in the fetch example. I don't know about ajax.
- lakpan 3y agoYou dropped about 250000 characters from the first example. Of course if you load a bunch of code beforehand your code will be marginally better. The fact is that you probably don’t need to send JSON anymore because fetch accepts the whole form as an object: await fetch('/my/url', { method: 'POST', body: new FormData(form) })
- peebeebee 3y ago> Of course if you load a bunch of code beforehand your code will be marginally better. That's exactly the point though. We use jQuery because it has an incredible easy and consistent interface that makes writing for the web so much more enjoyable. Selectors, events, chaining,... are all just nicer to work with than the vanilla counterparts. Same goes for all libraries and frameworks. :) BTW: Your example is sending a "multipart/form-data". Not all API's will understand this, and will need JSON anyway.
- lakpan 3y ago> Not all API's will understand this Who’s talking about APIs? Most jQuery users I know just use jQuery to submit forms and load some JSON, both of which are covered by fetch without altering the headers manually. What I’m saying is that it’s not fair to judge a tool for something you don’t have to do with it, namely sending JSON for everything. Fetch also supports native binary uploads, whereas most people base64 data when using $.ajax > makes writing for the web so much more enjoyable Writing? I agree. Actually making it work? No way. $('forn').hide() doesn’t work, but the browser will never tell you why (hint: wrong selector). jQuery errors are often silent, and that’s good enough reason to abandon it.