私は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);
}
})
ありがとう!
request.postではセッションが正しく機能するために必要なCookieを送信しません。私はそれが問題だと思う。 – Molda
ありがとう!それはそれを修正した。私は正しい解決策としてあなたのコメントをマークする方法をよく分かりません。 –
あなたはそれを正しいものとしてマークすることができます。おかげで – Molda