【问题标题】:AJAX Helper for NodeJS, instead of jQuery?NodeJS 的 AJAX 助手,而不是 jQuery?
【发布时间】:2013-03-18 11:38:14
【问题描述】:

我只想在服务器端脚本上做类似$.get/post 的事情。有没有更好的方法而不是包含整个 jQuery?我也不喜欢手动使用凌乱的get xml http请求东西。

【问题讨论】:

    标签: javascript jquery ajax node.js


    【解决方案1】:

    node.js中jquery.ajax的等价物是request

    它位于节点核心 http 之上,使事情更易于使用。允许回调和流式请求。

    例子:

    var request = require('request');
    request('http://www.google.com', function (error, response, body) {
      if (!error && response.statusCode == 200) {
        console.log(body) // Print the google web page.
      }
    })
    
    request.get('http://google.com/img.png').pipe(request.put('http://mysite.com/img.png'))
    

    【讨论】:

      【解决方案2】:

      需要http。如他们的文档中所述,您可以提出如下请求:

      var options = {
        hostname: 'www.google.com',
        port: 80,
        path: '/upload',
        method: 'POST'
      };
      
      var req = http.request(options, function(res) {
        console.log('STATUS: ' + res.statusCode);
        console.log('HEADERS: ' + JSON.stringify(res.headers));
        res.setEncoding('utf8');
        res.on('data', function (chunk) {
          console.log('BODY: ' + chunk);
        });
      });
      
      req.on('error', function(e) {
        console.log('problem with request: ' + e.message);
      });
      
      // write data to request body
      req.write('data\n');
      req.write('data\n');
      req.end();
      

      还有一个简单的GET

      http.get("http://www.google.com/index.html", function(res) {
        console.log("Got response: " + res.statusCode);
      }).on('error', function(e) {
        console.log("Got error: " + e.message);
      });
      

      您还可以查看Express.jsrequest,除了jquery 之外,您还可以使用很多选项。

      【讨论】:

        猜你喜欢
        • 2011-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-21
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 2014-09-27
        相关资源
        最近更新 更多