使用nodeJS解释器中的jQuery ajax

时间:2012-02-26 03:30:39

标签: jquery node.js same-origin-policy

我正在localhost:8080上运行开发服务器,现在在终端上工作。我使用以下命令安装了nodejs

$ brew install node
$ brew install jquery

现在我运行node解释器:

$ node
> var $ = require("jquery");

我定义了一个函数,无论它获得什么,都可以打印到控制台:

function getSomething() {
    $.get("http://localhost:8080",
          function(response) {
              console.log(response);
    });
}

在翻译中也是如此:

> getSomething()
undefined <-- this is what I get

我认为这是由于相同的原产地政策。我该如何解决这个问题?我正在尝试练习我的JavaScript,我想在终端而不是浏览器控制台上工作,以保持它的快速。

1 个答案:

答案 0 :(得分:2)

  1. getSomething没有任何回报。所以undefined是默认的返回值。这是对的。
  2. 您认为节点的核心API的哪个部分是ajax?是不是偶然window.XMLHttpRequest。这有可能不存在吗?
  3. 为什么要在节点中使用jQuery?它是否抽象出跨浏览器合规性问题?那是什么?他们不存在?然后不要使用jQuery
  4. 您可能不明白GET请求必须是异步的,因此无法返回任何内容,它会在回复后记录响应
  5. 如果你想练习JavaScript,那么使用jQuery对你没有帮助
  6. 严重的是,提出HTTP请求的方法很简单

    $ npm install request

    var request = require("request");
    
    function makeRequest(callback) {
      request("http://localhost:8080", callback);
    }
    
    makeRequest(function (err, res, body) {
      console.log(body);
    });