2017-12-28 7 views
0

js 프런트 엔드를 내 Node/Express 백엔드에 연결하는 데 문제가 있습니다. 내 클라이언트 측 js에서 내 서버에 요청을하면 내 요청은 성공적으로 반환되지만 요청한 페이지는 렌더링되지 않습니다.페이지가 AJAX 게시 요청에 성공하지 못합니다.

서버 측 내가 가진 :

app.get('/dashboard', (req, res) => res.render('dashboard/dashboard', { updates, agendaItems })); 

클라이언트 측 :

$.ajax({ 
    type: 'GET', 
    url: '/dashboard', 
    data: context, 
    success: function() { 
     console.log('success'); 
    }, 
    error: function (jqXHR, textStatus, err) { 
     console.log(textStatus); 
    } 
}); 

내가 오류를 얻을 그리고 내가 CONSOLE.LOG 내 콘솔에 표시 ('성공')을받을 수 있나요합니다. http://localhost:27017/dashboard으로 가거나 우편 배달부에서 요청을 받으면 내 라우팅이 예상대로 작동합니다. 내가 가진 유일한 문제는 내 클라이언트 측 js로부터 경로 요청을하는 것입니다. 버튼 클릭으로 아약스 요청을하고 있습니다.

+0

내가 더 많은 코드를 게시되지 않은 : 이것을 달성 할 사용자를 리디렉션 브라우저를 연출

. 대시 보드/대시 보드 아래에 파일이 있습니다. 제가 말했듯이, 페이지가 렌더링하는 localhost/대시 보드로 이동하여 요청을 받으면됩니다. 백 엔드는 완벽하게 작동합니다 (우편 배달부에서도 요청을 처리하는 것으로 알고 있습니다). 따라서 프런트 엔드 js를 Express 서버에 연결하는 데 문제가 있음을 확신합니다. –

답변

1

'아약스'라는 용어는 '비동기 자바 스크립트 및 xml'(어리석은 이름 인 imho)을 말합니다. 이것은 웹 페이지에서 실행중인 코드로 만들 수있는 http 요청입니다. 페이지의 코드는 응답을 처리합니다. 브라우저는 기본적으로 응답을 처리하지 않습니다.

가 요청을하고 구문 분석과 렌더링하여 응답을 처리하기 위해 브라우저를 지시하는 브라우저를 리디렉션에 대조적이다 등

아약스의 성공 기능() 호출 구문 분석하는 데 사용할 수

및 필요한 경우 응답을 표시하지만 더 많은 작업이 필요하며 일반적으로 응용 프로그램을 구성하여 브라우저의 기본 동작을되도록 많이 사용하는 것이 더 쉽습니다. 그것은 꽤 거대하고 복잡한 코드 기반이기 때문에

window.location = "/dashboard"; 
+0

그게 쉬운 해결책으로 작동하는 동안, 나는 왜 내 아약스 요청이 예상대로 작동하지 않는지에 대한 더 많은 통찰력을 찾고있다. –

+0

일부 컨텍스트로 업데이트되었습니다. 본질적으로 아약스를 사용하는 경우 응답 처리에 대한 책임이 있습니다. 요즘은 주로 html을 전송하는 대신 html로 템플릿 화 된 데이터를 전송하는 데 주로 사용됩니다. –

+0

감사합니다. 추가 정보는 몇 가지 사항을 명확히 해줍니다. 내 제안을 사용하고 window.location을 사용하여 내 성공 사례를 리디렉션하므로 내 요청으로 일부 데이터베이스 쿼리를 만들 수 있습니다. 그것은 예상대로 작동합니다. –

관련 문제