programing

노드에서의 AJAX 요구 검출Express가 있는 JS

easyjava 2023. 2. 23. 23:06
반응형

노드에서의 AJAX 요구 검출Express가 있는 JS

노드 사용 중JS(Express 포함)일반 브라우저 요청과 AJAX 요청의 차이를 어떻게 구별할 수 있습니까?요청 헤더를 확인할 수 있지만 노드/Exprss에 의해 이 정보가 노출됩니까?

대부분의 프레임워크는X-Requested-With헤더를 로 향하다.XMLHttpRequestExpress가 테스트를 수행하는 경우:

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
}

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

이상적으로는 각진 팀이 제거하지 말았어야 했지만 실제로는 비행 전 문제에 대한 더 나은 해결책을 찾았어야 했지만 지금은 그렇게 쉬고 있다...

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

반응형