Creando un servicio web Node.js simple para usar con AJAX

Tengo un servidor http básico de Node.js configurado según los documentos. Intento crear un servicio web muy simple con el que puedo hablar con Javascript (AJAX), que luego conecto a Arduino. Es una pieza de prueba, puedo ir por el camino de otra cosa, pero esto está demostrando ser divertido. De todos modos, aquí está el javascript del lado del servidor:

var http = require('http'); var _return = 'Bing Bong'; http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'application/jsonp'}); //do stuff res.end('_return(\'Hello :-)\' + _return)'); }).listen(process.env.VMC_APP_PORT || 1337, null); 

Y este es el lado del cliente:

 function experimentFive(node) { console.log('X5 Func started'); console.log('Calling Node.js service'); var nodeURL = node; $.ajax({ url: nodeURL, dataType: "jsonp", jsonpCallback: "_return", cache: false, timeout: 50000, success: function(data) { console.log('Data is: ' + data); $("#nodeString").text(" "); $("#nodeString").append(data); }, error: function(jqXHR, textStatus, errorThrown) { console.log('error : ' + textStatus + " " + errorThrown); } }); } experimentFive('http://fingerpuk.eu01.aws.af.cm/'); 

Esto funciona, recupero los datos pero no como esperaba. Lo que me gustaría poder hacer es cambiar el lado del servidor de datos y recibirlo de vuelta. Recupero la cadena en el res.end plus:

 function () { responseContainer = arguments; } 

En lugar de los datos de la variable. No importa cómo intente recuperar esos datos, es indefinido o esta respuesta.

A partir de la investigación, creo que la variable no tiene su conjunto de datos antes de que se active la callback, así que está vacío. Pero si configuro un valor inicial, los datos aún no están definidos.

¿Me estoy perdiendo algo muy simple aquí? ¿Debo volver a C #?

Aclamaciones.

Una forma posible de lograr esto sería usar ExpressJS con NodeJS para manejar el enrutamiento de sus puntos finales. Al hacer esto, puede configurar rutas como GET /media/movies/ , lanzar una solicitud AJAX a esta ruta, y luego devolverle los datos JSON que puede manejar en su aplicación.

Aquí hay un ejemplo de enrutamiento de ExpressJS en una aplicación que hice:

 var groups = require('../app/controllers/groups'); // find a group by email app.post('/groups/find', groups.searchGroupsByEmail); 

Aquí hay un gran tutorial que utilicé al comenzar con Express. Recorre todo el proceso desde la instalación de Node.JS (que ya ha hecho) hasta la configuración del enrutamiento de ExpressJS para manejar las solicitudes HTTP entrantes.

Creando una API REST usando Node.js, Express y MongoDB