내 node.js 웹 페이지를 코딩하려고합니다.전체 아약스 요청 이상 경로
특급 및 옥 템플릿과 함께 node.js를 사용합니다.
서버에 대한 POST AJAX 요청을 사용하여 완전히 비동기로 만들고 싶습니다. 옥 템플릿의
$("#logout").click(function(event){
event.preventDefault();
var payload = {
command: 'logout'
};
$.ajax({
url: "/main_page_ajax",
type: "POST",
datatype: "json",
contentType: "application/json; charset=utf-8",
processData: false,
data: JSON.stringify(payload),
success: function (result) {
var json = jQuery.parseJSON(result);
if(json.done==1){
$('#login_screen_clear').fadeIn("slow");
$('#login_screen_logged').hide();
show_message('Logout successful!');
}
else show_message('Something went wrong...!');
}
});
});
부 (index.jade) :
#login_screen_logged
.log_div
h3 Hello
b#logged_name
| !
br
br
a#logout(href='/logout') Logout
#login_screen_clear
//login form
input#player_login(type='text', size='15', autocomplete='off')
input#player_pass(type='password', size='15', autocomplete='off')
input#login_button(type='submit', value='Login')
내가 좋아하는 클라이언트 아약스를 통해 요청을 호출하고
router.get('/', function(req, res) {
res.render('index', { "some": 'parameters'});
}
: 내가 좋아하는 단 하나의 경로가 될 것이라고 의미
서버 측으로 돌아갑니다. 취급 아약스 요청 :
이는 Node.js를 응용 프로그램에 대한 좋은 방법입니다 :
router.post('/main_page_ajax', function(req, res) { switch(String(req.body.command)){ case 'logout': var resultJson = { }; req.session.destroy(function(err) { resultJson.done=1; res.end(JSON.stringify(resultJson)); }); break; } });
좋아, 그래서 여기 내 질문은?
이 방법을 사용하면 특정 호출을 기다리는 index.jade 템플릿 (숨겨진 div)에 거의 모든 컨테이너를 저장할 수 있습니다. 따라서이 파일은 더 많은 앱 개발로 늘어날 것입니다. html/jade 코드를 유지하기에 더 좋은 곳이 있습니까? 어쩌면 아약스가 그걸 요구 했을까?
success: function (result) {
var json = jQuery.parseJSON(result);
if(json.done==1){
$('#login_screen_clear').html("<a><bunch><of><html><code>")
$('#login_screen_clear').fadeIn("slow");
$('#login_screen_logged').hide();
show_message('Logout Successful!');
}
else show_message('Something went wrong...!');
}
예
그럼 나는 누군가가 내 문제를 이해하고 올바른 방법으로 날 지점 바랍니다.
추신. 내 가난한 영어 미안해.
[angularjs] (https://angularjs.org/), [emberjs] (http://emberjs.com/), [backbone.js] (http : //www.blackberry.js)와 같이 SPA를 구축하기 위해 클라이언트 측 프레임 워크를 사용하십시오. //backbonejs.org/), [녹아웃] (http://knockoutjs.com/), [반응] (http://facebook.github.io/react/). – user3995789