1

我需要将数据发布到这样的 URL:

http://www.your_domain.com/checkout/cart/add?product=68&qty=1&super_attribute[528]=55&super_attribute[525]=56

有关查询字符串的 Magento 文档,请参见此处

我当前的代码看起来像这样,但它不起作用。

var myObject = {
    super_attribute: {configOptionSuperAttribute: configOption}
};

        jQuery.post(productAddToCartURL, { product: productId, qty: qty, super_attribute: jQuery.param(myObject)  })
        .done(function(data) {
          alert("Data Loaded: " + data);
        });

问题在于 super_attribute[]。如何使 myObject 兼容?

谢谢您的帮助!

4

2 回答 2

3

根据jQuery.param(内部用于序列化数据),您的数据应如下所示:

jQuery.post(
    productAddToCartURL, 
    {product: productId, qty: qty, super_attribute: configOption},
    function() { ... }
);

configOption形式的对象在哪里

var configOption = {
    528: 55,
    525: 56
};
于 2013-06-20T22:01:49.923 回答
1

我不知道您是否错误地粘贴了代码,但您的 JavaScript 存在语法错误。这是无效的,因为您有一个未封闭的报价。也许你的意思是:

jQuery
    .post(
        productAddToCartURL, 
        { product: productId, qty: qty, 'super_attribute[]': configOption })
    .done(function(data) { alert("Data Loaded: " + data); });

或者也许这个?(您的super_attribute[]属性名称很奇怪):

jQuery
    .post(
        productAddToCartURL, 
        { product: productId, qty: qty, super_attribute: configOption })
    .done(function(data) { alert("Data Loaded: " + data); });
于 2013-06-20T21:54:55.650 回答