Ich habe diesen CodejQuery Post lieferte keine Antwortdaten
$(document).delegate('#login', 'pageinit', function(event) {
console.log('inside login page')
$('#loginform').submit(function() {
// Get the value of the username and password
var myusername = $("#username").val();
var mypassword = $("#password").val();
// Post to the login route
$.post(global_urlstub + '/customer_login', {username: myusername, password: mypassword}, function(data) {
alert(data);
console.log(data);
if (data.flag == true) {
alert('123');
console.log(data);
jQuery.mobile.changePage('#page1');
}
else {
alert('12345');
console.log(data);
$('#errmsg_login').html(data.msg);
}
}, "json");
return false;
});
});
Mein Server gibt Hash mit Schlüssel flag
zurück. Dieser Code gibt mir jedoch keine Daten an die Konsole oder den Alarm zurück, während die Postanforderung erfolgreich ist. Was mache ich falsch?
Ich benutze Sinatra als Backend, und ich bin ziemlich sicher, ich habe gültige JSON dort. Mehr als ich habe völlig ähnlichen Code auf meinem Backend für ein anderes Stück js-Code, und das funktioniert gut – Avdept
Wenn Sie einen Browser wie Chrome verwenden, öffnen Sie die Entwickler-Tools (F12) und beobachten Sie die Registerkarte Netzwerk, wie Ihr Code die AJAX-Anfrage macht. Wenn Sie auf die Anfrage klicken, zeigt Chrome eine Reihe von Tabs an (Headers/Preview/Response/Cookies/Timing). Wenn Sie sich den Inhalt der Registerkarte "Antwort" ansehen, sollte klar sein, ob Sie eine gültige JSON-Antwort haben oder nicht. Firebug hat eine ähnliche Net-Registerkarte, wenn Sie FF verwenden, und ich nehme an, IE hat eine Entsprechung oder verwendet Fiddler. – Barrie