Node.js/Express 응용 프로그램에서 mongoose api를 사용하고 있습니다. 클라이언트 측에서 데이터를 요청하는 요청을 받았지만 어떤 이유로 데이터가 클라이언트 측에 도달하지 못합니다. 뭐가 잘못 되었 니?Node.js에서 res.send()를 사용하는 방법
발췌문 백엔드의
app.get('/up', isLoggedIn, function(req,res){
req.user.local.level = 2;
req.user.save(function(err){
res.send(req.user.local.level);
});
});
발췌문
function try(){
var ks=1;
if(true){
$.get('/up', function(data){
ks=data;
});
}
console.log(ks);
}
서버 콘솔 표시 2, 아직 브라우저 콘솔은 여전히 1 표시는, 어떤 문제가 프론트 엔드의?
편집
나는 당신의 충고를 따랐다하지만 여전히 작동이 실 거예요. 내가 도대체 뭘 잘못하고있는 겁니까? 응답이 도착하기 전에
var ks=1;
if(true){
jQuery.ajax({
url: '/up' ,
async: false,
success: function(data) {
ks = data;
console.log(ks);
}
});
}
문제가 클라이언트에 있습니다. ** async **의 멋진 세계에 오신 것을 환영합니다! 너는 그렇게 할 수 없다. – SLaks
좀 더 설명해 주시겠습니까? 오류가 어디에 있는지보고 싶습니다. – idude
@idude 코드는 작성된 순서대로 실행되지 않습니다. '$ .get()'은 비동기 적으로 실행되거나 "*. 자신의 시간에 *"실행되며 console.log (ks);와는 별개입니다. 더 자세한 설명은 [함수 내에서 변수를 수정 한 후 내 변수가 변경되지 않는 이유는 무엇입니까?] (https://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-)를 참조하십시오. 함수 내부에서 비동기로 수정) 및 [Ajax 호출에서 응답을 반환하는 방법?] (http://stackoverflow.com/questions/14220321/how-to-return-the-response- from-an-ajax-call) –