Используйте jQuery ajax из интерпретатора nodeJS - PullRequest
0 голосов
/ 26 февраля 2012

Я использую сервер разработки на 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 Ответ

2 голосов
/ 26 февраля 2012
  1. getSomething ничего не возвращает.Так что undefined является возвращаемым значением по умолчанию.это правильно.
  2. Какую часть ядра API узла вы считаете ajax?Это случайно window.XMLHttpRequest.Это случайно не существует?
  3. Почему вы используете jQuery с узлом?Это абстрагирование от проблем совместимости браузера?Что это такое?Их не существует?Тогда не используйте jQuery
  4. Вы, вероятно, не понимаете, что запрос GET должен быть асинхронным, поэтому не может ничего возвратить, он будет регистрировать ответ, как только вернется
  5. Если выЕсли вы хотите попрактиковаться в JavaScript, то использование jQuery вам не поможет

Если серьезно, способ сделать HTTP-запросы очень прост

$ npm install request

var request = require("request");

function makeRequest(callback) {
  request("http://localhost:8080", callback);
}

makeRequest(function (err, res, body) {
  console.log(body);
});
...