2013-07-25 3 views
0

나는 노드에 더 최신이다.이 테스트 케이스를 r/w mysql 데이터베이스로 가져온다. 그러나 등록 버튼을 클릭 한 후 클라이언트의 응답이없는 동안 데이터베이스의 테이블이 업데이트됩니다. 처음에는 소켓 끊기 오류가 표시됩니다. 내 노드를 v.0.8.25로 업데이트 한 후. 지금은 아무 것도 보여주지 않습니다. 누구든지이 문제를 해결할 수 있습니까?node.js 서버가 클라이언트에 응답하지 않습니까?

내 클라이언트 코드는 매우 간단하다 :

var username = $('#username').val().trim(); 
var pwd = $('#password').val().trim(); 
$.post('http://myserver/' + 'reg', {username : username , password: pwd}, function(data){ 
    window.alert(data); 
}); 

내 서버 코드 : 오류가 발생하지 않은 경우 당신은 응답을 보내고되지 end된다

app.get("/reg" , route.reg); 
app.post("/reg", route.doreg); 

in route.js: 
exports.doreg = function(req ,res){ 
var msg = req.body; 

userOperator.createUser(msg.username , msg.password , function(err , user){ 
    if(err){ 
     res.send({code: 501}); 
     res.end(); 
    }else { 
     res.send({ code:200, username: user.name , password: user.password}); 
    } 
}); 
};enter code here 

답변

2

. 당신이 응답을

if(err) { 
     res.send(501); 
} else { 
     res.send(200, username: user.name , password: user.password}); 
} 
res.end(); 
+0

감사 :

else { res.send({ code:200, username: user.name , password: user.password}); res.end(); //missing } 

BTW, send()에 대한 첫 번째 인수는 상태 코드가 될 수 있습니다. 여전히 작동하지 않습니다. 그리고 클라이언트 측의 콜백 함수에 결코 들어갈 수 없다는 것을 알았습니다 : $ .post ('http : // myserver /'+ 'reg', {username : username, password : pwd}, function (data) { window. 경고 (데이터); – deerluffy

관련 문제