欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

jquery ajax加cookie

方一強2年前11瀏覽0評論

JQuery Ajax是一種基于JavaScript的網絡編程技術,它能夠無刷新地向服務器發送請求和接收響應。其中,發送請求是通過HTTP協議進行的,而HTTP協議是基于cookie的無狀態協議。因此,如果我們使用JQuery Ajax請求需要鑒權的接口時,就需要在請求中加上cookie。

下面是使用JQuery Ajax發送請求時帶上cookie的示例代碼:

$.ajax({
url: '/api/user',
type: 'get',
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
},
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function (res) {
console.log(res);
}
});

其中,beforeSend函數是在發送請求之前執行,可以在其中設置請求頭;xhrFields屬性是設置XMLHttpRequest對象(通常簡稱XHR)的字段,withCredentials屬性是表示是否允許發送cookie。如果我們想讓cookie生效,必須設置這個屬性為true。

另外,我們還需要在后臺接口中設置Access-Control-Allow-Origin和Access-Control-Allow-Credentials header,以允許跨域請求并接收cookie。

app.use(function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Credentials', 'true');
next();
});
app.get('/api/user', function(req, res, next) {
const cookie = req.cookies[COOKIE_NAME];
if (cookie && checkCookie(cookie)) {
res.json({code: 200, msg: 'success', data: userData});
} else {
res.json({code: 401, msg: 'Unauthorized'});
}
});

總之,使用JQuery Ajax發送請求時需要加上cookie的話,需要在請求頭中設置Authorization和withCredentials屬性,并在后臺接口中設置Access-Control-Allow-Origin和Access-Control-Allow-Credentials header。