AJAX каталарын JavaScriptте толук кармоо
fetch тарабынан кайтарылган убада,
желе тутумунун катасы кеткенде гана
ката менен аякталат. Эгерде сервер
404 же 500 статусу менен
жооп кайтарса, анда убада ийгиликтүү
аякталат, бирок ok статусу
false деп белгиленет.
Эки түрдөгү каталарды кармап алалы:
button.addEventListener('click', function() {
let promise = fetch('/ajax.html')
.then(
response => {
if (response.ok) {
return response.text();
} else {
console.log('жооптун начар статусу');
return '';
}
},
).then(
text => {
console.log(text);
}
).catch(
error => {
console.log(error);
}
);
});
HTTP жообунун начар статусуна байланыштуу ката
catch блогу тарабынан кармалышы үчүн,
аны throw аркылуу андан ары өткөрүп берели:
button.addEventListener('click', function() {
let promise = fetch('/ajax.html')
.then(
response => {
if (response.ok) {
return response.text();
} else {
throw new Error('жооптун начар статусу');
}
},
).then(
text => {
console.log(text);
}
).catch(
error => {
console.log(error);
}
);
});
Эгер суроо ийгиликтүү болсо, барактын текстин чыгарыңыз, эгер бир нерсе туура эмес болсо, катаны чыгарыңыз.