2016-03-21 9 views
0

私はpassportJSを使用してサーバーバックエンドでログインセッションと永続セッションを処理しています。要求を使用したときにパスポートセッションが作成されない

セッションは、サーバーフロントエンド(作成していないWebページと混乱するノウハウが不足しているWebページ)から要求を渡すときに正しく動作しますが、要求(https://www.npmjs.com/package/request)を使用してサーバーに手動で要求を送信すると、セッションがまったく機能しない - deserializeUserが呼び出されていない、req.userが定義されていない

これは、フロントエンドからの関連するコードです。

$.ajax({ 
    type:"POST", 
    url: GE.SERVER_URL + '/publish', 
    data: { 
     name: $('#new_publication_name').val(), 
     code: column.editor.getValue(), 
     language: column.mode, 
     permissions: $('#new_publication_permissions').prop('checked'), 
     tags: $('#new_publication_tags').val().split(','), 
     notes: $('#new_publication_notes').val(), 
     instrument: false, 
     username: Gibber.Environment.Account.nick 
    }, 
    dataType:'json' 
    }) 
    .done(function (data) {   
    if(data.error) { 
     GE.Message.post('There was an error writing to Gibber\'s database. Error: ' + data.error) 
    }else{ 
     GE.Message.post('Your publication has been saved to: ' + GE.SERVER_URL + '/?path=' + data._id) 
    } 

これは私が使用しているコードです。

request.post({url:'http://127.0.0.1:8080/publish',form:{filename:"steinfile", code:"john doe", language:"english",tags:["testfile"],notes:"thesearenotes"}}, function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body); 
    } 
    else 
    { 
     console.log(error); 
    } 
}) 

ありがとう!

+0

request.postではセッションが正しく機能するために必要なCookieを送信しません。私はそれが問題だと思う。 – Molda

+0

ありがとう!それはそれを修正した。私は正しい解決策としてあなたのコメントをマークする方法をよく分かりません。 –

+0

あなたはそれを正しいものとしてマークすることができます。おかげで – Molda

答えて

0

あなたはrequest.postと一緒にクッキーを送信しません。

セッションが正常に動作するために必要です。

+0

ありがとう!私はこれを正解とマークしました。 –

関連する問題