JavaScript Response von node.js express

S

Struct

Gast
Hallo,

jetzt versuche ich es mal hier, da ich langsam am verzweifeln bin. Ich versuche seit längerer Zeit Antwort von meinem Server-Skript zu erhalten, aber es klappt nicht. Kurz ein paar Eckdaten:

- Ich erstelle grad eine jQuery Mobile App (mit PhoneGap für Android)
- Auf meinem Server (Linux) läuft node.js mit Express. Dort hab ich ein Skript für User Authentifikation laufen.
- Auf Client Seite hab ich ein Formular, das per Post Daten an das Server-Skript schickt.

Was soll nun passieren?
- Nachdem die Daten per Formular an das Skript gesendet wurde, möchte ich eine Variable erhalten mit z.B. true und danach kann ich im Client je nach Wert der Variable eine Weiterleitung machen.

Das klappt aber nicht =/

Client: jQuery Mobile
Code:
<script type="text/javascript">
$("#submitButton").click(function() {
	var formData = $("#regForm").serializeArray();
	
	$.ajax({
		type: "POST",
		url: "http://xx.xxx.xxx.xx:8080/adduser",
		data: formData,
		dataType: "json",
		
		statusCode: {
			200: function() {
				alert( "success" );
				window.location = "#home";
				$.mobile.changePage("#home");
			}
		},
		
		success: function (data) {
			window.location = "#home";
			$.mobile.changePage("#home");
		},
		
		error: function() {
			console.log('process error');
			window.location = "#home";
			$.mobile.changePage("#home");
		}
	});
});
</script>

Server: node.js und express
Code:
app.post('/adduser', function(req,res){
    db.serialize(function(){
	
	//...

	res.send(200);
    })
});

Wenn ich das Formular absende, dann wird der User zur DB hinzugefügt und ich bekomm im Browser (oder in der App) ein weißes Browserfenster mit OK zurück.


Danke für eure Hilfe.
 
Ist #submitButton evtl. ein <input type="submit"> Element? Dann solltest du im click-Handler am Ende noch ein return false; schreiben um sein Standardverhalten (Absenden des Formulars) zu unterbinden.
 
Hi NeoTiger,

hab dein Tipp umgesetzt und hatte danach noch nen kleinen Fehler wegen des Cross Domain Problems. Hab es aber gelöst und nun funktioniert es. Bin dir sehr sehr dankbar für die Hilfe :)
 
Zuletzt bearbeitet:
Zurück
Oben