2016-11-19 2 views
2

노드 js는 $ .ajax와 같은 함수를 가지고 있습니까? 나는 노드 js 완전히 자바 스크립트 작성된 생각하고 $ .ajax jquery 또한 작성된 자바 스크립트입니다. 그렇다면 아마도 노드 js는 $ .ajax와 같은 함수를 가지고있을 것입니다. 잘못 됐나?

+0

https://github.com/request :

const request = require('request'); request({method: 'GET', uri: 'http://www.google.com'}, function(err, response, body) { // handle response here }); 

약속은 이제 자바 스크립트에서 비동기 작업을 처리하기위한 더 현대적인 도구이기 때문에, 여기에 예를 사용하여 약속의 예를 들면 다음과 같습니다이다/request – undefined

+0

ajax는 백엔드에 대한 프론트 엔드 쿼리입니다. nodejs가 백엔드에서 alrdy이기 때문에, 왜 아약스가 필요할까요? – Mox

+0

@Mox 아마 다른 HTTP 요청을 다른 서버 나 내부 응용 프로그램 수준 경로로 보내려고합니다. – undefined

답변

4

기술적으로 AJAX는 브라우저의 특정 API를 기반으로하는 브라우저 전용 기능입니다. 그래서 여러분이 정말로 묻고있는 것은 node.js 내에서 다른 HTTP 서버의 HTTP 요청을하는 간단한 방법입니다.

이러한 요청을하려면 내장 된 http.get() (http 모듈에서)을 사용하거나 상위 수준의 추가 기능 모듈 request()을 사용할 수 있습니다. 요청 모듈은 http 모듈 위에 구축되지만 더 많은 기능을 제공하며, 많은 경우 사용하기가 훨씬 쉽습니다. 요청 모듈의 기능 목록 중

, 당신은 발견 할 것이다 : 스트림 지원, 양식 인코딩/디코딩, HTTP 인증, 사용자 정의 헤더, OAuth를, 서명, 리디렉션, queryString이, GZIP 등 ...

const rp = require('request-promise'); 

rp({method: 'GET', uri: 'http://www.google.com'}).then(body => { 
    // handle response here 
}).catch(err => { 
    // error here 
}); 
관련 문제