使用节点js和jquery将数据从服务器端传递到客户端

时间:2017-06-26 20:33:48

标签: jquery node.js get client-side server-side

晚上好,

我是节点上的新手,所以我在尝试从服务器端编写客户端上的任何数据时遇到问题。首先,在客户端,我尝试这个:

$.get("myNode.js", function( data ) {
  var bottle = JSON.parse(data);
  var name = bottle.name;
  alert(name)
});

在服务器方面,说实话,我不知道该放什么,我已经尝试过: app.get("myNode.js", function(require, response){ response.json({ name: "example" }); });

虽然有这些:

var express = require('express');
var app = express();

但是我不认为它的工作方式如此,并且无法弄清楚服务器端如何对客户端做出响应。所以任何帮助都会很好。

困扰我的另一件事,我怎么能告诉服务器GET它应该给我,如果我在页面上有不同的元素,那些应该从服务器给我不同的信息,我怎样才能指定那些GET' S'

有任何帮助,感谢您的时间和支持!

问候。

2 个答案:

答案 0 :(得分:0)

根据您发布的内容,您似乎对网址在您的应用中的工作方式感到有些困惑。设置app.get()时,传入的第一个参数是端点。它可能看起来像:

app.get("/getMyData", function(req, res) {...});

如果您在本地服务器上运行此操作,则可以通过在浏览器中转到http://localhost:8080/getMyData来访问此端点。然后使用JQuery的get方法,你可以传入那个确切的url,它应该为你返回一些数据。

如果您需要多个端点,则可以添加更多app.get()个具有不同端点名称的函数,例如/getMyData2

答案 1 :(得分:0)

好的,所以我现在在我的客户端:

$("#Beer").click(function(){
$.get("/getMyData", function( data ) {
  var bottle = JSON.parse(data);
  var name = bottle.name;
  alert(name)
});
})

在服务器端:

      http.createServer(function(req, res) {/*Reads File and writes it*/
      res.writeHead(200, {"Content-Type": "text/html"});
      var q = url.parse(req.url, true);
        var filename = "." + q.pathname;
        fs.readFile(filename, function(err, data) {
          res.writeHead(200, {'Content-Type': 'text/html'});
          res.write(data);
      res.end();
        })
  /*App get*/      
     app.get("/getMyData", function(require, response){
         response.json({ name: "example" });
     });
  }).listen(8080);

我仍然认为我做得不太好,我不明白。到目前为止它没有提醒我什么。 app get是否应该使用?并且response.json真的发送数据吗?