Я пытаюсь отправить данные от клиента к серверу nodeJS. Но данные не отображаются на сервере. Что мне не хватает?
index.htmlNodeJS, я могу видеть данные в Request Payload на стороне клиента, но я не могу видеть данные в объекте запроса на стороне сервера
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
var testField = $('#testField').text();
$(document).ready(function() {
$('#submit').on("click",function() {
if ((!$('#testField').val())) {
$('#error').text("Please enter Test");
} else {
$('#error').hide();
console.log ("Ajax call");
console.log ("Inner Ajax call");
$.ajax({
type: 'POST',
url: '/testUrl',
data: testField,
success: function(result) {
console.log ('Response Success:', result);
},
failure: function(result) {
console.log ('Response Failue:', result);
}
});
}
});
});
</script>
</head>
<div id="testId">Test:<input type="text" name="testField" id="testField"> </div>
<div id="error"></div>
<div id="code"></div>
<div id="button"><input type="button" id="submit" value="Submit"></div>
</html>
Когда я ввожу значение в testField и нажмите клавишу ввода, оно должно быть получено на server.js
Ниже приведен код для server.js
var http = require('http');
var fs = require('fs');
var qs = require('querystring');
function send404Response (response) {
console.log ("send404Response");
response.writeHead(404, {"Context-Type" : "text\plain"});
response.write("Error 404: Page not found");
response.end();
}
function onRequest(request, response) {
console.log ("onRequest");
if (request.method == 'GET' && request.url == '/') {
console.log ("onRequest - GET - Home page");
response.writeHead(200, {"Context-Type" : "text\plain"});
fs.createReadStream ('./index.html').pipe(response);
} else if ((request.type == 'POST' || request.method == 'POST') && (request.url == '/testUrl')) {
console.log ("onRequest - POST - testUrl - " + request.data); //request.data is undefined - how to receive data.
response.end();
} else {
send404Response(response);
}
}
http.createServer(onRequest).listen(8888);
console.log("Server is now running");
request.data не определено, как указано в разделе комментариев вышеприведенного кода. Я попытался визуализировать объект запроса с помощью инспектора узла. Но я не вижу данные, отправленные через клиента на сервер. Прошу прокомментировать, что мне не хватает.
Заранее спасибо
Возможный дубликат [Как вы извлекаете данные POST в Node.js?] (http://stackoverflow.com/questions/4295782/how-do-you-extract-post-data-in-node-js) –