Всем привет. Делаю свой wishlist на yii2, но использую стандартную форму отправки.
Вопрос в том, почему с сервера приходит такой ответ
Передаю id товара, который лежит в значении чекбокса. И сервер его возвращает, но помимо него возвращает еще кучу ненужной информации.
Файл выгрузки товара
class ProductViewList extends Widget
{
public $data;
public function run()
{
$data = ProductList::find()->indexBy('id')->asArray()->all();
foreach ($data as $id => $product) {
$goods =
' <div class="product-cart" > '
. '<div class="product-cart_wrapper"> '
. '<form class="product-cart_favourite"> '
. '<input type="checkbox" value="'. $product['id'] .'" name="radio" id="'. $product['id'] .'">'
. '<button type="submit"> '
. '<label for=" '. $product['id'] .' ">'
. '<img src="/images/heart.png">'
. '</label>'
. '</button>'
. '</form>'
. '<img class="product-cart_img" src="/images/' . $product['img'] .' " >'
. '<div class="cart-descr_wrapper">'
. '<div class="product-cart_name" > ' . $product['name'] . '</div>'
. '<div class="product-cart_price" > ' . $product['price'] . " $" . '</div>'
. '</div>'
. '</div>'
. '</div>';
echo $goods;
}
return $goods;
}
}
Аякс
$('.product-cart_favourite').submit(function(e){
if( $(this).hasClass('added') )
{
$(this).removeClass('added');
$(this).children('button').children('img').attr('src', '/images/app.jpg');
}else{
e.preventDefault();
var data = 'radio=' + $(this).children('input').val();
// var data = 'radio=' + $(this).serialize();
console.log(data);
$.ajax({
url: 'wishlist',
type: 'POST',
data: data,
success: function(res){
console.log(res)
},
error: function(){
console.log('error');
}
});
}
});
Обработчик
<code lang="php">
<?php
$data = $_POST['radio'];
echo $data;
</code>