Как получить ошибку если ответ от PHP не JSON формат?
Файл index.php
<?php
echo 'не json';
?>
JS скрипт
$.ajax({
url: '/index.php',
dataType: 'json',
beforeSend: function() {
log('Получение данных...');
},
success: function(data) {
console.log('Успешно');
},
error: function() {
console.log('Ошибка');
}
});
Сейчас выводит Успешно, а нужно чтобы была Ошибка
Ответы (1 шт):
Автор решения: HTO HOT
→ Ссылка
Попробуйте так(числа тоже считает как JSON)
$.ajax({
url: '/index.php',
dataType: 'json',
beforeSend: function() {
log('Получение данных...');
},
success: function(data) {
if(isJsonString(data)){
console.log('Успешно');
}else{
console.log('Ошибка');
}
},
error: function() {
console.log('Ошибка');
}
});
function IsJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}