2013-03-09 3 views
0

Для аутентификации, я послал запрос поста на сервер от Backbone.js как этогокак отправить ответ на модель после autheticate с использованием паспорта и Backbone.js

model.save({"email":"[email protected]","password":"silvester"}, { 
    successs:function(model,res){ 

    }, 
    error:function(){ 

    } 
}); 

я принял в стороне сервера, как этот

app.post('/login', passport.authenticate('local', { 
    successRedirect: '/mainpage', 
    failureRedirect: '/login' 
})); 

в выше кодировании, если успех аутентификации я перенаправлять на главный, а затем я попытался показать еще один HTML-страницу, как этот

app.get('/mainpage',function(req,res) { 
    console.log("mainpage"); 
    res.sendfile('/mainpage.html'); 
}); 

после перенаправления этой главной страницы я получил результат этой консоли, но я не мог перенаправить на другую веб-страницу. как это работает, а затем есть все равно, чтобы отправить ответ только для этого запроса на отправку (вышеупомянутый пост-запрос). Если я отправлю ответ на этот запрос, я могу легко получить этот ответ в функции успеха, а затем я могу продолжить свою работу, но в паспорте есть только опция переадресации, поэтому он собирается получить другой запрос на получение, из этого как я могу отправить ответ на интерфейс? и где я могу получить? .so как отправить ответ без перенаправления и как решить этот one.anyone решить это. спасибо

ответ

0

model.save сделает запрос ajax на ваш сервер.

Я думаю, что когда вы делаете res.sendfile('/mainpage.html');, он возвращает html-страницу в ответе ajax. Вы можете проверить Консоль разработчика в браузере?

вы должны проверить, что если запрос Ajax затем возвращать код статуса 401 HTTP и сделать перенаправление на стороне клиента с помощью window.location="/mainpage.html"

0

это может помочь вам ответить на тот же запрос после

app.post ('/ login', passport.authenticate ('local', {failureRedirect: '/ login'}), function (req, res) { res.redirect ('/ mainpage');});