【问题标题】:why my sessionStorage gives { 'object Object': '' }为什么我的 sessionStorage 给出 { 'object Object': '' }
【发布时间】:2021-12-16 00:08:13
【问题描述】:

我有一个查询,我正在使用本地存储将数据从一个页面传递到另一个页面。之后,我获取该数据并制作一个字符串。然后我将该 json 字符串传递给 sessionStorage 以用作我的 ajax 请求的数据。但我总是将这些数据作为 { 'object Object': '' }.

我的代码,

const parsedData = JSON.parse(localStorage.getItem('myData'));
    console.log(parsedData,"parsedData");
    
   
 
    parsedData.data.rows.forEach((result, idx) => {
      
     var a = result.master_id;
     var b = result.session_name;
     console.log(a,b,"a","b")

    var userData = {"pid":a,"session" :b};
     console.log( userData ,"userData");  
   
     sessionStorage.setItem('user', JSON.stringify(userData)); 
  
................. then i access this data in another function,
 function graphApi(){
    
     const apiValue = (sessionStorage.getItem('user'));
    
        console.log(apiValue,"apivalue new")
      /*var dat ={
        "pid":"WEB506",
        "session":"WEB506_09092021_M1_S2.csv"
        };*/
       
     
       $.ajax({
        type: "POST",
        data:  apiValue ,   
         url: "http://localhost:5000/file",
        success: function (data) {
          console.log(data)
        },
         error: function(err){
          alert(err);
          }

请帮忙,我坚持了一段时间。

另外,这是我的控制器api,

File: async (req, res, next) => {
  console.log('---------------');
  console.log( req.body); this is where i get { 'object Object': '' }
  console.log('---------------');
  try{
    if(!req.body){
      throw new Error("sorry no data, error occured")
    }

   const {pid, session} = req.body;
 
   const user = await models.graph_data.findAndCountAll({
    attributes: [
      "document"
    ],
    
   

【问题讨论】:

  • 您在每个循环中设置.setItem('user')。每次都被覆盖。最后只剩下最后一个值
  • 所以你建议?
  • 你从哪里得到{ 'object Object': '' }?这段代码中有三个console.log
  • 好吧,我建议不要在每个循环中覆盖相同的会话变量 :) 我只是指出显而易见的
  • 我已将其添加到我的问题中。我的 req.body 给出 { 'object Object': '' } ,即我的 ajax 发送正确吗?

标签: javascript node.js ajax object


【解决方案1】:

您正在安慰整个对象数组而不是单个对象 试试

console.log(data.pid) or console.log(data.session)

【讨论】:

  • 但是兄弟我得到 { '{"pid":"WEB506","session":"WEB506_09092021_M1_S1.csv"}': '' } 这是我在我的 api 中的 req.body 中的输出。这意味着在 ajax 数据中,这个值正在发送。对吗?
【解决方案2】:

尝试清除您的 sessionStorage,然后重试。代码

{ 'object Object': '' }  

表示您使用了参考值,例如 JSON 对象作为键。 但是,您的代码似乎没有这样做。 尝试清除您的 sessionStorage 并重试

【讨论】:

  • 我已经试过了
  • 那是评论,不是答案...
猜你喜欢
  • 2016-06-16
  • 2014-10-24
  • 1970-01-01
  • 1970-01-01
  • 2014-08-04
  • 2019-03-27
  • 2015-07-03
  • 2013-10-20
  • 2011-07-13
相关资源
最近更新 更多