El problema al que me enfrento a continuación, solo está presente cuando subo la aplicación al servidor (Digital Ocean). Cuando trabajo en mi máquina local, puedo hacer que funcione según el código que se indica a continuación. Básicamente, mi solicitud jQuery Ajax nunca es capturada por mi código Node.js. Verá que estoy ejecutando el servidor con Express, sin embargo, tengo Nginx configurado en el servidor también.
Configuración del nodo:
var express = require('express'); var app = express(); var request = require("request"); var db = require('mysql'); const path = require('path'); var http = require("http").Server(app); var io = require("/usr/local/lib/node_modules/socket.io").listen(http); http.listen(3000, 'localhost'); //At the end of everything between here and the code.
GET Código del nodo:
app.use(express.static(__dirname + '/')); app.get('/reqData',function(req,res){ //I never arrive here console.log("print that I am here"); transform(req.query.selection1,req.query.selection2,function(){ res.json(data); //data is transformed globally }); });
Ajax:
function requestData(){ $.ajax({ url: 'http://IPAddress/reqData', type: 'GET', data: {//Some stuff to send}, dataType: "json", complete: function(data){ do(data); }, error: function(e){ console.log(e); } }); }
Registro de la consola: Error de la consola de Chrome
EDITAR 2: He editado las direcciones ip en ajax, usando la ip del servidor. (sin el puerto). También adjunto los nuevos registros de errores (en la consola de Chrome) y la configuración de nginx.
Nuevo Consola Log Chrome Log
Configuración NGINX: Configuración Nginx 1 Configuración Nginx 2