Erhalten Node.js um die Benutzereingaben aus einem HTML-text-Feld?
Habe ich im Grunde versucht, um ein einfaches Spiel, wo der Benutzer Einreichen können Sie Ihre high-score zu einem Node.js server. Ich versuche nur, etwas zu tun, sehr einfach, aber können nicht scheinen, viel zu finden, mir zu helfen online!
Im moment habe ich die Hauptseite zu verbinden und zu reagieren, um den server mit AJAX.
Hier die HTML-Ausgabe:
<div id="test"></div>
<h3>Upload your high-score:</h3>
Your score: <input type="text" name="yourScore">
<button id="SubmitBtn" type="submit">Submit</button>
Hier ist das JavaScript, das ausgelöst wird, wenn der "Submit" - Schaltfläche geklickt wird, und fügt die "test" - div, wenn erfolgreich angeschlossen (Nur um zu zeigen, er reagiert):
<script>
$(document).ready(function() {
$('#SubmitBtn').click(function (event) {
$.ajax({
url: 'http://localhost',
dataType: "jsonp",
jsonpCallback: "_testcb",
cache: false,
timeout: 5000,
success: function(data) {
$("#test").append(data);
},
error: function(jqXHR, textStatus, errorThrown) {
alert('Error connecting to the Node.js server... ' + textStatus + " " + errorThrown);
}
});
});
});
Und hier ist meine Node.js in dem moment, wo es läuft und antwortet:
var http = require('http');
console.log('Game server running...');
http.createServer(function (req, res) {
console.log('Submit button has been clicked.');
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('_testcb(\'{"message": "Welcome! Node.js Responding!"}\')');
}).listen(80);
Also ja, wenn jemand weiß, wie kann ich meine Node.js server zum Lesen der Daten in der "yourScore" text-Feld und wenn die "SubmitBtn" - Schaltfläche geklickt wurde, Daten zu senden, an den server, wäre ich sehr dankbar!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten
Sie nicht senden, Daten mit AJAX anfordern.
Mögliche Lösung (es ist besser, wenn du die Partitur
input
element mit einemID
oder serialisieren derform
element):Zweiten
In Ihrem NodeJS-request-handler können Sie die gesendeten Daten mit dem request-Objekt.
Mögliche Lösung:
request
zureq
. Siehe meine Antwort wieder.http.createServer(function (req, res) {});
req.Körper definiert werden müssen. Überprüfen Sie Ihren code, um zu sehen, wenn Sie etwas vermissenrequest.body
Objekt zur Verfügung. Wenn nicht, benötigen Sie zum analysieren von Daten, selbst mitreq.on('data', function(chunk) { } );
Müssen Sie senden eine POST auf dem server, check-out dieses einfache Beispiel
in Ihrem Skript:
und in Ihrem server