Как подключиться к Facebook на стороне сервера через Ajax, используя Node, Express и Connect-auth - PullRequest
1 голос
/ 20 октября 2011

У меня есть фрагмент кода, который выглядит следующим образом.

app.get('/auth/facebook', function( request, response ) {
    if( request.session.user ){ 
        response.render( 'index.jade' );        
    } else {
        request.authenticate(['facebook'], function(error, authenticated) {
            if( authenticated ) {
                request.session.user = request.getAuthDetails().user;
                response.writeHead(303, { 'Location': "/auth/facebook" });
            }
        });

    }   
});

Если есть пользователь в сеансе, он будет отображать страницу, если нет, он получит пользователя из Facebook и сохранит его.в переменной сеанса и перезагрузите страницу ... и визуализируйте ее.Работает отлично.Но я хочу вызвать этот кусок кода через AJAX и сделать что-то вроде этого:

app.get('/auth/facebook', function( request, response ) {
    response.contentType('application/json');
    if( request.session.user ){     
        response.send(JSON.stringify({'authenticated':true}));  
    } else {
        request.authenticate(['facebook'], function(error, authenticated) {
            if( authenticated ) {
                request.session.user = request.getAuthDetails().user;
                response.writeHead(303, { 'Location': "/auth/facebook" });
            } else {
                response.send(JSON.stringify({'authenticated':false})); 
            }
        });
    }   
});

Но это не работает.Он говорит: «Невозможно использовать API изменяемого заголовка после отправки» и помещает его в бесконечный цикл, говоря: «Невозможно отобразить заголовки после их отправки клиенту».снова и снова.

Я поступаю неправильно?Я хочу, чтобы код моего сервера соединялся с Facebook без необходимости перезагрузки страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...