Javascript ajax post选择器作为opencart中的数据;“添加到购物车”;按钮
最近我在学习opencart开发时,发现了一件奇怪的事情。 我们知道产品信息页面中的“添加到购物车”使用的是Ajax,下面是js代码: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\']
$('#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选择器而不是确定值。