Javascript ajax post选择器作为opencart中的数据;“添加到购物车”;按钮

Javascript ajax post选择器作为opencart中的数据;“添加到购物车”;按钮,javascript,php,jquery,ajax,opencart,Javascript,Php,Jquery,Ajax,Opencart,最近我在学习opencart开发时,发现了一件奇怪的事情。 我们知道产品信息页面中的“添加到购物车”使用的是Ajax,下面是js代码: $('#button-cart').bind('click', function () { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: $('.product-info input[type=\'text\']

最近我在学习opencart开发时,发现了一件奇怪的事情。 我们知道产品信息页面中的“添加到购物车”使用的是Ajax,下面是js代码:

$('#button-cart').bind('click', function () {
    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
        dataType: 'json',
        success: function (json) {
            /** code  **/
        });
    });
post数据类似于jQuery选择器。为什么post数据没有值

试试这个

if (isset($this->request->post['quantity'])) {
                $quantity = $this->request->post['quantity'];
            } else {
                $quantity = 1;
            }

此外,购物车中的opencart还提供了多种选项,如多种产品等,因为购物车允许您编辑购物车中的某一点产品,您自然会使用选择器,而不是特定的值。

此行为在中实现。您可以将对象、字符串或数组设置为
数据
值。如果提供DOM对象数组,jQuery将尝试将它们转换为key=>value对,其中key是表单元素的名称,value是表单元素的值


这真的很方便,尤其是在OpenCart中的产品出现这种情况时,我们不知道产品可能有多少选项和哪种类型,因此我们将选择所有可能的选项(即使它们可能不存在-然后它们不会发布),并将它们交给AJAX请求。

$quantity=$This->request->post['quantity';这段代码可以获取数量的post值,但我只是想知道为什么post数据是jquery选择器而不是确定值。