Ich hätte gerne einen Code zum Hinzufügen oder Entfernen von Datenbanklesezeichen. Der Code ist bereit und es fügt hinzu und entfernt von Datenbanklesezeichen richtig, aber wenn ich die Funktion anrufe, gibt es die json error
statt json success
zurück, selbst wenn der Code funktioniert.json_encode gibt 200 zurück undefined
Ich mag würde wissen, was mit dem Code falsch ist (dass ich von woanders bekommen und anpassen), weil die Client-Seite ist nicht die richtigen Werte true
oder false
empfängt, löst es nur die json beforeSending
und json error
.
Server-Seite:
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));
}
Client-Seite:
<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>
Die console.log(data.status + ' ' + data.added);
Linie meldet 200 undefined
Wie kann ich die richtigen Werte true
oder false
Rückkehr sowohl für "status"
und "added"
?
Edit: Die json success
wird nie auf Konsole angemeldet, so dass ich nicht weiß, was auf Server-Seite passiert ist. Ich muss das wissen, weil ich die Klasse eines Elements ändern muss, um einen leeren oder gelben Stern anzuzeigen.
Sind Sie sicher, dass Sie wirklich die Ausgabe an den Client irgendwo senden. –
Es ist schon eine Weile her, seit ich mit PHP gearbeitet habe, aber sollst du nicht den JSON aussprechen? 'echo json_encode (...)'. –
Senden Sie sie als Ganzzahlen und behandeln Sie sie bei der Rückgabe. Boolesche Werte sind problematisch zu senden. –