如何将foreach数据传递给ajax

时间:2017-11-02 07:53:14

标签: php jquery ajax local-storage

我在本地存储中存储了两个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;?>";
    }
  });
});

1 个答案:

答案 0 :(得分:0)

使用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: ...