Mam tło JavaScript oparty na przeglądarce i chcesz zapoznać się z węzłem. O ile mi wiadomo, węzeł

Moje pytanie brzmi: Czy node.js obsługuje połączenia AJAX ? I dlaczego / jak się skończy? Oczywiście węzeł może przetwarzać incomming żądanie ajax, podobnie jak każda inna technologia side-boczna (Python, Ruby, PHP, J2EE) - ale pytam, czy może to być ogień połączenia ajax.

JavaScript jest technologią napędzaną zdarzeniami (asynchroniczne z natury). Przeglądarki muszą pobierać dane zewnętrzne (z serwerów), dlatego używają XMLHttpRequest. Ze względu na stronę serwera Node.js nie musi strzelać AJAX, ponieważ musiałby zadzwonić do innych serwerów. Jeśli będzie musiało przekazać inny serwer, może to zrobić to samo przy użyciu zwykłych gniazd / usług, tak jak inne technologie (Python, Ruby itp.). Ale w każdym razie XMLHTTPREQUEST jest wbudowany w przeglądarki, więc może nie może być powodu, aby usunąć go z węzła ... może to może być przydatne.

Doceniłbym odpowiedź, która również wyjaśniłaby temat.

2
ducin 17 sierpień 2014, 12:58

2 odpowiedzi

Najlepsza odpowiedź

Czy Node.js obsługuje połączenia AJAX?

Ajax jest procesem tworzenia żądania HTTP z przeglądarki, używając JavaScript, bez opuszczania strony.

Od węzła (w kontekście www) zwykle działa na serwerze, na ogół tego nie robi.

Możesz:

  • Uruchom serwer HTTP za pomocą węzła i mieć JavaScript JavaScript AJAX, aby złożyć żądanie do tego serwera
  • Napęd przeglądarki (np. Via Phantomjs lub Selenium) i masz załadowanie strony, która sprawia, że przeglądarka wykonuje połączenia AJAX
  • Zrób żądanie HTTP z węzła

Ze względu na stronę serwera Node.js nie musi strzelać AJAX, ponieważ musiałby zadzwonić do innych serwerów.

Istnieje wiele powodów, dla których jednego serwera do rozmowy z innym

Jeśli będzie musiało przekazać inny serwer, może to zrobić to samo przy użyciu zwykłych gniazd / usług, tak jak inne technologie (Python, Ruby itp.).

Nie pamiętam, kiedy ostatni raz użyłem Pythona, Ruby ani innego języka, aby uzyskać dane przez sieć, w której nie użyłem HTTP (i podwitą biblioteki HTTP).

XMLHTTTPREQUEST jest wbudowany w przeglądarki, więc może nie może być powodu, aby usunąć go z węzła

Węzeł nie jest przeglądarem z usuniętymi bitami, więc XMLHTTPREQUEST nie został z niego usunięty, nigdy nie było w nim w pierwszej kolejności.

Istnieje wbudowany moduł HTTP dla węzła, który może wykonać http prośby i kilka bibliotek na NPM, który Zapewnij alternatywne interfejsy API (w tym takie, że implementuje XMLHTTPRECEQUEQUEQUEQUEQUEQUEQUEST Specyfikacja).

5
Quentin 17 sierpień 2014, 09:08

Nie jest wbudowany, ale jest moduł NPM dla tego: https://www.npmjs.org / pakiet / xmlhttpRequest

1
JimiDini 17 sierpień 2014, 09:05