node.js相当于一个标准的PHP ajax保存scheme

在一个JavaScript(客户端)+ PHP(服务器)网站,我有这个scheme保存一个“ online notepad ”(在#textbox textarea)到服务器:

 // client-side $("#save-button").on('click', save); function save(e) { $.ajax({ type: "POST", url: "/php/save.php", data: { projectname: $('#projectname').text(), data: $('#textbox').text() }, success: function(data) { alert('Data saved'); }, error: function(data) { console.log(data); } }); } 

这在服务器端( /php/save.php ):

 <?php $projectname = $_POST['projectname']; $data = $_POST['data']; // save this into database ?> 

node.js(client + server)中等效的“post to server和save server”scheme是什么? (以express为例)

有没有一个众所周知的node.js“ pattern ”这样的任务?

在客户机上使用$.ajax(...)和在服务器上使用node.js是常见的/好的做法吗? 我认为node.js引入了一种新的思维方式,使ajax不再需要了…我错了吗?

  1. node.js(client + server)中等效的“post to server和save server”scheme是什么? (以快递为例)

特定于你的代码,它应该看起来像这样。

客户端:-

 $("#save-button").on('click', save); function save(e) { $.ajax({ type: "POST", url: "/php/save", data: { projectname: $('#projectname').text(), data: $('#textbox').text() }, success: function(data) { alert('Data saved'); }, error: function(data) { console.log(data); } }); } 

和服务器端: –

 router.post('/php/save', function(req, res) { // server side var projectName = req.body.projectname; var data = req.body.data; // save the data here to database }); 

这里我接收节点中的发布数据的方式,我需要要求body-parser模块,所以这应该被添加在顶部,

 var bodyParser = require('body-parser'); 

这将parsing你的http请求体,这样你可以直接以req.body.data的forms访问参数。

  1. 在客户机上使用$ .ajax(…)和在服务器上使用node.js是常见/好的做法吗?

$ .ajax(…)在客户端 : – 当然,为什么不..我们不使用$.ajax(...)当我们使用不同的后端技术,如.NET或Java? 所以没有必要改变你的前端,只是你在后端使用了不同的技术

在服务器上的节点 : – 现在这是相当意见的基础上,节点是新的,我们的JavaScript开发人员喜欢节点,因为它是单一的技术在服务器端和客户端以及,我会说节点是太棒了..但也有其他人会说节点是废话。 我宁愿跳过回答这个部分。

  1. node.js引入了一种新的思维方式,使ajax不再需要了…

我想你是指向websockets 。 是节点是一种不同的思维方式。 这并不代替ajax,你可以在这里find一些信息

WebSockets的目的是在浏览器和服务器之间提供低延迟,双向,全双工和长期运行的连接。 WebSockets为使用HTTP和AJAX(交互式游戏,dynamic媒体stream,桥接到现有networking协议等)的浏览器应用程序打开了新的应用程序域。

如果您不需要WebSockets提供的特定优势,那么坚持使用AJAX和Comet等现有技术可能是一个更好的主意,因为这样可以重用和整合现有的巨大工具,技术,安全机制,知识库(即比stackoverflow更多的人知道比WebSockets的HTTP / Ajax / Comet),等等。

这不是node.js的具体事情,你仍然可以在其他技术中实现websocket。

因此,node.js引入了一种新的思维方式,使得不需要的Ajax成为错误!

你只需要改变服务器端。 根据你如何设置服务器,你的代码可能看起来像这样:

 router.post('/php/save.php', function(req, res) { var projectName = req.param('projectname'); var data = req.param('data'); });