对于nodejs样式编程缺乏经验,我正在看一个开源的node.js应用程序,它在前端main.js文件和routes.js文件中都有相同路径的路由,如下所示。我假设当main.js文件中的函数被调用时,它会触发routes.js中的路由,但是,我无法弄清楚如果有什么东西从main.js传递给routes.js作为回调。
main.js
$.get('/ip', function (data) {
fp.val(fingerprint);
userId.val(md5(fingerprint + data.ip));
});
routes.js
app.get('/ip', function (req, res) {
res.json({
ip: req.connection.remoteAddress
});
});
答案 0 :(得分:1)
没有关于前端脚本的特定于节点的内容,它只是使用jQuery.get来获取给定URL的文档。
在服务器端,看起来应用程序正在使用Express(或类似的东西)修改响应的.send()
方法以允许发送任意对象。当您send
和对象时,Express JSON对其进行编码(使用JSON.stringify(object)
并将响应的Content-Type标头设置为application/json
。此内容类型标头告诉jQuery自动解析JSON响应回到浏览器中的对象。
因此没有回调从main.js传递给routes.js,它只是一个标准的Web请求,它将JSON数据发送回客户端。