【问题标题】:How to pass foreach data to ajax如何将foreach数据传递给ajax
【发布时间】:2018-04-14 16:12:16
【问题描述】:

我在本地存储中存储了两个 JSON 数组,即 viewbody=>json data1viewcollar=>json data2。我在foreach 循环中从本地存储中动态获取这些数组,并使用数据名称属性。但我无法将两个arrays 数据传递给php ajax。请帮助我,有人。

下面是我的代码,

$(document).on('click','.startDesignbtn', function() {
  var product_id = $(this).data("id");
  $(".getoption").each(function(){
    var option_name  = $(".getoption").data("name");
     // alert(option_name);
      var views = localStorage.getItem("view"+option_name);
    });

    $.ajax({
    url: 'index.php?route=product/design/designMultiImage',
    type: 'post',
    //dataType: 'text',
    data:{
      'product_id': product_id,
      'views' : views,
    },
    success: function(data) {
      alert(data);return false;
      var intValArray = data.split(',');
      var count = 0;
      $.each(intValArray,function(i){      
        localStorage.setItem("view_"+count,intValArray[i]);
        count++;
      });
      localStorage.setItem('design-image',data);
      localStorage.setItem('parent-id',product_id);
     // var custom_link = data;
      window.location = "<?php echo $customize_link;?>";
    }
  });
});

【问题讨论】:

  • var views = localStorage.getItem("view"+option_name); - 每次运行时,都会在 .each 循环的范围内创建一个新变量“views”。您需要在“click”函数中创建一个数组,然后每次循环运行时将localStorage.getItem("view"+option_name); 的结果分配给数组中的下一个空间(使用.push())。

标签: php jquery ajax local-storage


【解决方案1】:

使用 array.push() 将值附加到数组。此外,您需要在每个循环之外定义数组,否则您每次都会重置它。此外,在循环内,使用 $(this) 而不是按类定位元素。修复了您的点击功能如下:

$(document).on('click','.startDesignbtn', function() {
  var product_id = $(this).data("id");
  var views = [];
  $(".getoption").each(function(){
    var option_name  = $(this).data("name");
     // alert(option_name);


      views.push("view"+option_name);


    });

    $.ajax({
    url: 'index.php?route=product/design/designMultiImage',
    type: 'post',
    //dataType: 'text',
    data:{
      'product_id': product_id,
      'views' : views,
    },
    success: ...

【讨论】:

    猜你喜欢
    • 2013-08-09
    • 1970-01-01
    • 2016-10-28
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    相关资源
    最近更新 更多