JavaScript හි AJAX දෝෂ සම්පූර්ණයෙන් අල්ලා ගැනීම
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);
}
);
});
ඉල්ලීම සාර්ථක වුවහොත් පිටුවේ පෙළ මුද්රණය කරන්න, සහ යමක් වැරදී ගියහොත් දෝෂය මුද්රණය කරන්න.