【发布时间】:2017-08-25 18:26:54
【问题描述】:
我通过单击将产品 id 传递给控制器的按钮在 ajax 中发出请求,并将其传递给助手。在助手中,通过产品的这个 ID,我将它添加到购物车中,但这在那个问题上并不重要。我在这个助手中创建了一个数据数组并将其返回,控制器将该数组返回给请求。但是当我在数组中发出警报以便我可以看到它让我感到不安时,它会返回一个空值,我不知道为什么会发生这种情况。
Ajax 请求:
function addCartao(product_id){
alert("entrou");
alert(product_id);
$j.ajax({
type: "POST",
url: "<?php echo Mage::getUrl('fol_carousel/ajax/teste') ?>",
data: {
product_id: product_id
},
dataType: 'json',
cache : false,
beforeSend: function () {
alert("beforeSend");
},
success: function (dados) {
alert("success");
alert(dados);
},
complete: function () {
alert("complete");
},
error: function (x,y,z) {
alert("error");
alert(x);
alert(y);
alert(z);
}
});
}
控制器:
$product_id = $this->getRequest()->getPost();
echo json_encode(Mage::helper('fol_carousel/cartao')->addCustom($product_id));
帮助器中创建的数组:
$dados['product_name'] = "teste";
$dados['product_price'] = "2.99";
return $dados;
每次执行ajax请求alert,都会返回null。
【问题讨论】:
-
假设您得到的
alert("success");也正确? -
没错……
-
如果您尝试硬编码 echo json_encode(array("product_name"=>"teste")) 警报会给出值吗?
-
我试过了,这样警报会返回以下内容:
[object Object]
标签: php jquery arrays ajax magento