0

我需要帮助来准备 $.ajax 提交的参数。

我有多对 html 输入(i 对):

> <input type="hidden" value="31" name="product_id"> <input
> type="hidden" value="3" name="quantity">
> 
> <input type="hidden" value="34" name="product_id"> <input
> type="hidden" value="1" name="quantity">

如果我使用这个 jquery 代码:

   function send(){      

   var parameter1 =$("input[name$='product_id']").serialize();
   var parameter2 = $("input[name$='quantity']").serialize();

  $.ajax({
   type: "POST",
   url: 'index.php?route=checkout/cart/add', 
   data: parameter1+'&'+parameter2  
  });
};

我发送这样的参数:

product_id=31&product_id=30&quantity=2&quantity=2

如何传递这样的参数:

product_id=31&quantity=2&product_id=30&quantity=2

谢谢

4

3 回答 3

0

如果你想以相同的顺序解析它们,它们在 html 中

data = '';
$('input[type="hidden"]').each(function(){
    data += '&' + $(this).attr('name') + '=' + $(this).attr('value');'
});
于 2013-10-26T07:21:27.597 回答
0

进行以下更改

在 html 中

<form id="frm">
<input type="hidden" value="31" name="product_id[]">
<input type="hidden" value="3" name="quantity[]">
<input type="hidden" value="34" name="product_id[]">
<input type="hidden" value="1" name="quantity[]">
</form>

在js中

function send(){      

$.ajax({
 type: "POST",
 url: 'index.php?route=checkout/cart/add', 
  data: jQuery('#frm').serialize()  
 });
};

您将在全球 $_POST 中获得价值

于 2013-10-26T08:33:32.643 回答
0

尝试这个:

function send(){      
    var data = {
        parameter1:$("input[name$='product_id']").val(),
        parameter2:$("input[name$='quantity']").val()
    };



  $.ajax({
   type: "POST",
   url: 'index.php?route=checkout/cart/add', 
   data: JSON.stringify(data),
   success : function(msg){
   // your code here       
   },
   error : function(msg){
   // your code here
   },  
  });
};
于 2013-10-26T11:03:57.407 回答