2014-02-21 2 views
1

Я создал модуль в узле.js. В основном, этот модуль захватывает данные из mongodb и возвращает значение JSON.Интеграция моего модуля node.js в приложение express.js

Теперь, в Express.js, разработчик front-end (а не я) использует плагин jQuery для выполнения действий. Этот jQuery нуждается в переменной JSON в качестве параметра для выполнения своей задачи.

Теперь я не знаю, как отправить переменную JSON (которая создается на стороне сервера) в плагин jQuery, который работает на стороне клиента. Я не могу окунуться в голову, как начать делать это, поэтому мне трудно найти его. Не знаю, какими будут ключевые слова. Итак, как технические ответы, так и общее объяснение того, как эта работа будет оценена.

+0

сделать Ajax запрос от переднего конца к маршруту на внутреннем интерфейсе (например,/getmyjson) ... на экспресс, определите этот маршрут и отправьте обратно значение json, которое вы получите от вашего модуля. –

ответ

1

Попробуйте следующий код:
стороне клиента JQuery:

$.ajax({ 
    type: 'POST', 
    url: 'http://localhost:3000/request', 
    data: { 
     test: "test" 
    }, 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success : function(result){ 
      alert(result); 
    }, 
    error : function(){ 
      console.log("error") 
    } 
}); 

В Node.js
Попробуйте следующий код на стороне сервера для обработки /request:

app.get('/request', function(req, res){ 
     var data = {'TestKey':'TestValue'}; 
     //For test at server side only 
     console.log('Sent this data to client:\n' + JSON.stringify(data)); 
     res.writeHead(200, { 'Content-Type': 'application/json' }); 
     res.end(JSON.stringify(data)); 
}); 


Обновление: Вместо res.writeHead.. & res.end..
Вы также можете использовать:

res.json(data); 
Смежные вопросы