Я хотел бы иметь код для добавления или удаления из закладок базы данных. Код готов, и он добавляет и удаляет из закладок базы данных правильно, но когда я вызываю функцию, он продолжает возвращать json error
вместо json success
, даже если код работает.json_encode возвращает 200 и не определено
Я хотел бы знать, что случилось с кодом (что я и адаптируются откуда-то еще), так как на стороне клиента не принимает правильные значения true
или false
, это вызывает только json beforeSending
и json error
.
сторона сервера: сторона
if($isFavorite) {
// if it's favorite, remove from bookmarks
return json_encode(array("status" => true, "added" => false));
} else {
// if it's not favorite, include into bookmarks
return json_encode(array("status" => false, "added" => true));
}
клиента:
<script>
function addItemToUsersList(userId, type, itemId) {
jQuery.ajax({
'url': 'xxx',
'type': 'GET',
'dataType': 'json',
'data': {userid: userId, type: type, itemid: itemId},
'success': function(data) {
console.log('json success');
},
'beforeSend': function() {
console.log('json beforeSending');
},
'error': function(data) {
console.log('json error');
console.log(data.status + ' ' + data.added);
}
});
}
</script>
console.log(data.status + ' ' + data.added);
Лог 200 undefined
Как я могу вернуть правильные значения true
или false
как для "status"
и "added"
?
Edit: json success
никогда не войти в консоль, так что я не знаю, что произошло на стороне сервера. Мне нужно это знать, потому что мне нужно изменить класс элемента, чтобы отобразить пустую или желтую звездочку.
Вы действительно действительно отправляете выход клиенту где-то. –
Прошло некоторое время с тех пор, как я работал с PHP, но разве вы не должны выходить из JSON? 'echo json_encode (...)'. –
Отправьте их как целые числа и обработайте их при возврате. Булевские значения проблематичны для отправки. –