Development Tip

Express를 사용하여 NodeJS에서 AJAX 요청 감지

yourdevel 2020. 10. 31. 10:12
반응형

Express를 사용하여 NodeJS에서 AJAX 요청 감지


Express와 함께 NodeJS를 사용하고 있습니다. 일반 브라우저 요청과 AJAX 요청의 차이점을 어떻게 알 수 있습니까? 요청 헤더를 확인할 수 있지만 Node / Exprsss가이 정보를 노출합니까?


대부분의 프레임 워크 는 Express에 테스트가있는 X-Requested-With헤더를로 설정합니다 XMLHttpRequest.

app.get('/path', function(req, res) {
  var isAjaxRequest = req.xhr;
  ...
});

req.xhr가 설정되지 않은 경우 ( 예 : Angularjs와 같은 프레임 워크 에서 제거 된 경우) 헤더가 JSON 응답 (또는 XML 또는 XHR이 HTML 대신 응답으로 보내는 모든 항목)을 수락 할 수 있는지 여부도 확인해야합니다.

if (req.xhr || req.headers.accept.indexOf('json') > -1) {
  // send your xhr response here
} else {
  // send your normal response here
}

물론 두 번째 부분은 사용 사례에 맞게 약간 조정해야하지만 더 완전한 대답이 될 것입니다.

이상적으로 앵귤러 팀은이를 제거해서는 안되지만 실제로 CORS의 비행 전 문제에 대한 더 나은 솔루션을 찾았어야하지만 지금은 그게 멈춰 있습니다.

참고 URL : https://stackoverflow.com/questions/15945118/detecting-ajax-requests-on-nodejs-with-express

반응형