最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

express如何解決ajax跨域訪問session失效問題詳解

 更新時間:2019年06月20日 09:02:39   作者:喜洋洋咯  
這篇文章主要給大家介紹了關于express如何解決ajax跨域訪問session失效問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

最近在學習express,就用以前做的項目來進行express前后端分離的練手了,在做登陸注冊的時候發(fā)現(xiàn)跨域的時候,session的值是會失效的,導致session里面的數(shù)據(jù)獲取為undefined,網(wǎng)上找資料加上自己的不斷嘗試,終于找到了解決方法,簡單記錄一下解決方法。

解決方法

1、客戶端因為session原則上是需要cookie支持的,所以Ajax方法里面必須添加 xhrFields:{withCredentials:true},表示允許帶Cookie的跨域Ajax請求( 特別說明,只要使用的session都得加這句)

 $('#login').click(function () {
  $.ajax({
   url: 'http://localhost:3000/users/yzm',//服務端路由地址
   type: 'get',
   xhrFields:{withCredentials:true},
   dataType: 'json',
   success:function(data){
    $('#yzm_img').html(data)
   },
   error:function(){
    alert('error');
   }
  });
 });
 $('#form_login').submit(function (e) {/!*登錄*!/
  e.preventDefault();/!*阻止表單默認事件,頁面全局刷新*!/
  var data=$('#form_login').serialize();/!*將表單里的數(shù)據(jù)包裝起來*!/
  $.ajax({
   url : 'http://localhost:3000/users/login',
   type : "post",
   data : data,
   xhrFields:{withCredentials:true},
   dataType:'json',
   success:function(msg) {
    alert("這是返回的數(shù)據(jù)"+msg);
   },
   error:function(err){
    alert("這是失敗的信息"+err);
   }
  });
 });

通過設置 withCredentials: true ,發(fā)送Ajax時,Request header中便會帶上 Cookie 信息。

2、服務器端修改app.js文件

相應的,對于客戶端的參數(shù),服務器端也需要進行設置。

對應客戶端的 xhrFields.withCredentials: true 參數(shù),服務器端通過在響應 header 中設置 Access-Control-Allow-Credentials = true 來運行客戶端攜帶證書式訪問。通過對 Credentials 參數(shù)的設置,就可以保持跨域 Ajax 時的 Cookie。

var express = require('express');
var session = require('express-session');/*引入會話變量*/

var app = express();
app.all('*', function(req, res, next) {
 res.header("Access-Control-Allow-Origin", "http://localhost:63342");//前端域名
 res.header("Access-Control-Allow-Credentials",'true');
 res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
 next();
});

特別注意:服務器端 Access-Control-Allow-Credentials = true時,參數(shù)Access-Control-Allow-Origin 的值不能為 '*' ,必須為自己客戶端項目所在地址。

3、服務器中使用session

router.get('/yzm', function(req, res, next) {
 req.session.yzm='abcd';
}
router.post('/login', function(req, res, next) {
 console.log(req.session.yzm);
}

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • node.js實現(xiàn)BigPipe詳解

    node.js實現(xiàn)BigPipe詳解

    這篇文章主要介紹了node.js實現(xiàn)BigPipe詳解,BigPipe是 Facebook 開發(fā)的優(yōu)化網(wǎng)頁加載速度的技術,BigPipe 的核心概念就是只用一個 HTTP 請求,只是頁面元素不按順序發(fā)送而已,需要的朋友可以參考下
    2014-12-12
  • Node.js開發(fā) path路徑模塊詳解

    Node.js開發(fā) path路徑模塊詳解

    path 模塊是 Node.js 官方提供的、用來處理路徑的模塊,它提供了一系列的方法和屬性,用來滿足用戶對路徑的處理需求,這篇文章主要介紹了Node.js開發(fā) path路徑模塊,需要的朋友可以參考下
    2024-02-02
  • 基于Node.js實現(xiàn)nodemailer郵件發(fā)送

    基于Node.js實現(xiàn)nodemailer郵件發(fā)送

    Nodemailer 是一個簡單易用的 Node.JS 郵件發(fā)送模塊(通過 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜歡的字符集。Nodemailer是一個簡單易用的Node.js郵件發(fā)送組件,需要的朋友可以參考下
    2016-01-01
  • nodejs中方法和模塊用法示例

    nodejs中方法和模塊用法示例

    這篇文章主要介紹了nodejs中方法和模塊用法,結合實例形式分析了nodejs方法與模塊的定義及使用方法,需要的朋友可以參考下
    2018-12-12
  • nodejs搭建本地服務器并訪問文件的方法

    nodejs搭建本地服務器并訪問文件的方法

    本篇文章主要介紹了nodejs搭建本地服務器并訪問文件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Express作者TJ告別Node.js奔向Go

    Express作者TJ告別Node.js奔向Go

    TJ自我介紹: TJ Holowaychuk ,程序員兼藝術家,Koa、Co、Express、jade、mocha、node-canvas、commander.js等知名開源項目的創(chuàng)建和貢獻者。
    2014-07-07
  • 淺析Node.js 中 Stream API 的使用

    淺析Node.js 中 Stream API 的使用

    這篇文章給大家淺析node.js中stream api的使用,本文介紹的非常詳細,涉及到node.js api,node.js stream相關知識,感興趣的朋友可以參考下
    2015-10-10
  • Node.js中的WebSocket底層實現(xiàn)

    Node.js中的WebSocket底層實現(xiàn)

    WebSockets是基于HTTP的雙向通信協(xié)議,允許客戶端和服務器之間實現(xiàn)實時、持久的數(shù)據(jù)交換,本文詳細介紹了使用JavaScript和Node.js創(chuàng)建WebSockets服務器和客戶端的過程,感興趣的可以了解一下
    2024-10-10
  • node中Express 動態(tài)設置端口的方法

    node中Express 動態(tài)設置端口的方法

    本篇文章主要介紹了node中Express 動態(tài)設置端口的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 詳解nodejs異步I/O和事件循環(huán)

    詳解nodejs異步I/O和事件循環(huán)

    本篇文章主要介紹了nodejs異步I/O和事件循環(huán),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

孝义市| 日照市| 察哈| 扎鲁特旗| 宝应县| 凤阳县| 鄂托克前旗| 华宁县| 惠来县| 大厂| 靖远县| 宁波市| 红安县| 梁河县| 于都县| 上杭县| 耒阳市| 江安县| 石渠县| 龙州县| 十堰市| 阳山县| 永新县| 三河市| 温宿县| 炉霍县| 阳春市| 吕梁市| 武威市| 宁国市| 阜平县| 西充县| 衡南县| 天峻县| 鄢陵县| 安康市| 夏邑县| 剑河县| 涞源县| 嘉祥县| 合山市|