如何将 foreach 数据传递给 ajax



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

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

最新更新