【问题标题】:How to use session storage to get value from an object and push into an other object如何使用会话存储从一个对象中获取价值并推送到另一个对象中
【发布时间】:2019-11-27 23:19:46
【问题描述】:

好吧,我的问题在我的标题中,我实际上是在尝试创建各种对象,这些对象具有基于后端Java 的关系。 班级用户与班级预算的关系为Many to Many,班级事务在One to Many中。

当我尝试使用值创建用户对象并观察用户是否在数据库中创建时,它正在工作。 当我尝试创建一个用户对象时,它的预算对象中包含值,而事务对象中的值也包含在正在工作的预算对象中。

我的问题是现在我正在尝试创建交易。我正在考虑使用sessionStorage 而不是array.push() 只创建一个事务。但我对这两种解决方案都束手无策。

从我的 Js 测试下方。和我的前端控制台结果。

谢谢。

<script>
        $("#formulaire").submit(function(e){
          e.preventDefault();

          // 1ère etape test en dur //

          var username= "Steven";
          var  password= "Seagal";
          var lastName= "Seagal";
          var firstName ="SSeag";
          var pass = "123";
          var mail = "StevenSeagal@hotmail.fr";
          var budget = [{

            "budgetName": "food",
            "currentValue": 100.0,
            "administrator": 1,
            "transactions": [{ "debit": true, "transactionName": "Bière", "transactionValue": 10.0 }],
            "initialValue": 200.0}];

          // faire un json//
          //2 creer un objet test//
          // erreur de [] au lieu de {} sacre Kalpesh :) //
          var user={};
           var userid = user.id=1;
           var username =user.username=username;
           var  userPaswword =user.password=password;
           var lasName= user.lastName=lastName;
           var firstName= user.firstName=firstName;
           var pass= user.pass=pass;
           var mailuser = user.mail=mail;
           var userbudget = user.budget=budget;
           console.log(user);

          // test//

          //3 requete ajax//

          $.ajax({
            type: 'POST',
         // objet que je lui envoie //
         data: JSON.stringify(user),
         contentType: "application/json",
         url:"http://localhost:8080/user/createbody"
          }).done(function(data){
            console.log("envoi effectuer");
            sessionStorage.setItem('id',user.id);
          });
        });

          //Methode GET ALL
         $("#allUser").click(function (e) {
            e.preventDefault();
        $.ajax({
            url: "http://localhost:8080/user/all",

          }).done(function (data) {
            console.log(data);
            var recupData =JSON.stringify(data);
            console.log(recupData);
          });
        });

        //
        $("#oneUser").click(function (e) {
            e.preventDefault();
            $.ajax({
              url: "http://localhost:8080/user/1",

            }).done(function (data) {
              console.log(data);
              var recupData = JSON.stringify(data);
              console.log(recupData);
            });
          }); 
          //Methode createTransaction
            //valeur en dur d'une transaction  

       $("#createTransaction").click(function (e) {
                  e.preventDefault();




/*
            const animals = ['pigs', 'goats', 'sheep'];

         const count = animals.push('cows');
         console.log(count);
         // expected output: 4
         console.log(animals);
         // expected output: Array ["pigs", "goats", "sheep", "cows"]

         animals.push('chickens', 'cats', 'dogs');
         console.log(animals);
// expected output: Array ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]

*/



            var debit= true; 
            var transactionName="Bière" 
            var transactionValue = 10.0;
            //initialisation object & affectation
            var transactions=[];
            var usernameSession = sessionStorage.getItem('id');

          $.ajax({
            url: "http://localhost:8080/user/"+usernameSession+"",
          }).done(function(data){
            console.log(data);
          })

          /*
            transactions.debit=debit;
            transactions.transactionName=transactionName;
            transactions.transactionValue=transactionValue;
            */

                $.ajax({
                  type: 'POST',
                  // objet que je lui envoie //
                  data: JSON.stringify(transactions),
                  contentType: "application/json",
                  url: "http://localhost:8080/user/createbody"
                }).done(function (data) {
                  console.log("envoi effectuer");
                });
              });









</script>

【问题讨论】:

  • 我并没有仔细查看您在此处发布的内容,但我确实看到了诸如“密码”之类的各种内容,所以让我提醒您,客户端会话存储不是 “安全”,不应用于任何您不希望用户(或具有文件编辑器的黑客)接触到的事情!

标签: javascript arrays session-cookies


【解决方案1】:

您应该在传递之前将值保存在对象中。

sessionStorage.setItem('id','dfd');
var obj = {};
obj= sessionStorage.getItem('id');
alert (obj)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2019-05-12
    • 1970-01-01
    相关资源
    最近更新 更多