2016-02-10 49 views
0

我到sessionsearch data通過ajax在如下nodejs應用程序檢索分配一組值來varibale:無法分配會話值的node.js

req.session.searchData=result.GetSearchDataResult; 

,並點擊任意描繪的記錄時用戶將被重定向到新的view,並且在服務器中,我加載與該點擊記錄相關的不同數據。我通過id作爲url參數,我打算通過過濾從存儲的session.searchData中獲取記錄。但即使這些值存在於session.searchData中,我也無法將其分配給任何變量來讀取值和過濾器。

當我CONSOLE.LOG下面req.session.searchData是我所得到的:

{"lstDetails": 
    [ 
     {"ID":"FFSDER2da2411cDSs12CGh21", 
     "FirstName":"Test", 
     "LastName":"Data", 
     "DOB":"8/15/1921 12:00:00 AM", 
     "AddressLine1":"Test Address Line 1", 
     "AddressLine2":"", 
     "City":"FakeCity", 
     "State":"ST", 
     "Zip":"41511", 
     "PID":0, 
     "EmailID":"[email protected]", 
     "Gender":"1", 
     "WorkPhone":"", 
     "OtherPhone":"5555555555", 
     "ICarier": 
        {"ICName":null, 
        "IGName":null, 
        "IGNum":null 
        } 
     }, 
     {"ID":"DS24DASD5da21afd56D4#2!", 
     "FirstName":"Test2", 
     "LastName":"Data2", 
     "DOB":"8/15/1921 12:00:00 AM", 
     "AddressLine1":"Test2 Address Line 1", 
     "AddressLine2":"", 
     "City":"FakeCity2", 
     "State":"ST2", 
     "Zip":"41511", 
     "PID":0, 
     "EmailID":"[email protected]", 
     "Gender":"1", 
     "WorkPhone":"", 
     "OtherPhone":"5555555555", 
     "ICarier": 
        {"ICName":null, 
        "IGName":null, 
        "IGNum":null 
        } 
     } 
    ] 
} 

但是當我嘗試將其分配給一個變量,它總是undefined

app.use(session({secret: 'secretkey'})); 
console.log(req.session.searchData); //this prints above list values 
var patientArray = req.session.searchData; 
console.log("Patient Array - " +patientArray); //this prints "Patient Array - undefined" 

我也嘗試使用app.get如下,但沒有運氣。

var patientArray; 
app.get("/",function(req,res){ 
    var sess=req.session; 
    patientArray=sess.searchData; //never enters here 
}); 
console.log(patientArray); 

但上述方法從來沒有被調用。

我在這裏錯過了什麼?我如何讀取會話值並將其分配給變量?

+0

在您發佈的代碼中找不到任何問題。你能否發佈完整的功能? – Darshan

+0

@Darshan,它是一個巨大的..一個完整的應用程序,我只是給出了正在發生的事情的基本細節..應該有一些事情要做'會議',我不知道那是什麼.. –

+0

是那些第一四個語句在同一個函數中? – Darshan

回答

0

由於req.session.searchData=result.GetSearchDataResult;用於返回json-response,所以同樣的json-response存儲在req.session.searchData中。不知道這是否是正確的行爲,但後來我不得不使用JSON.parse(req.session.searchData);來獲取正確的數據。