Bitte kann mir jemand mit diesem AJAX- und JSON-Problem in die richtige Richtung zeigen. Ich habe ein kleines Programm, das Benutzerinformationen abruft und dann die Daten mit JSON zur Verwendung auf einer Webseite zurückgeben soll. Unten ist der js und php Code.AJAX-Fehler mit json_encode-Array (und verifizierter JSON OK)
require_once 'databasefunctions.php';
$userinfo= array();
$username = filter_input(INPUT_GET, 'username', FILTER_SANITIZE_ENCODED);
$users = GetMultipleIntranetRows("SELECT * FROM tthusers WHERE username LIKE '$username'");
if (!empty($users))
{
$userinfo['username'] = $users[0]['username'];
$userinfo['department'] = $users[0]['department'];
$userinfo['pin'] = $users[0]['pin'];
return json_encode($userinfo);
exit();
}
return "";
UND
$(document).ready(function(){
$('#users').on('change', function(){
var username = this.value;
var data = {username:username};
$.ajax({
//START OF AJAX
async:false,
cache:false,
type: "GET",
data: data,
dataType: 'json',
url: "getuserinfo.php",
success: function(results)
{
var b = results;
},
error: function (results){
var a = results;
}
});
});
});
Die Rückkehr immer fällt in die Fehler fangen, aber ich kann keine gemeldeten Fehler durch firebug finden. Die JSON-Daten zurückgegeben worden sieht aus wie:
{ "username": "Marke", "Abteilung": "Werkstatt", "Stift": 2222}
und wird als ok verifiziert.
Dank Matt
"Die Rückkehr fällt immer in den Fehler Catch, aber ich kann keinen gemeldeten Fehler durch Firebug finden." - Das dritte Argument der Fehlerfunktion ist die Fehlermeldung. Schau es dir an. – Quentin
'Fehler: Funktion (xhr, Status, Fehler) {var err = eval (" ("+ xhr.AntwortText +") "); Alarm (err.Message); } '- um den Eror zu sehen – splash58
Echo das Ergebnis .. nicht zurückgeben. –