在Magento中返回值
以下是控制器中返回产品值的函数在Magento中返回值,magento,magento-1.8,Magento,Magento 1.8,以下是控制器中返回产品值的函数 public function productsAction() { $sku=$this->getRequest()->getparam('subvalue'); $_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku); $upsell_product_collec
public function productsAction()
{
$sku=$this->getRequest()->getparam('subvalue');
$_product = Mage::getModel('catalog/product')->loadByAttribute('sku', $sku);
$upsell_product_collection = $_product->getUpSellProductCollection();
$upsel=$upsell_product_collection->addAttributeToSelect('product_type')
->addAttributeToFilter('product_type', 133);
$products1 = $_product->getData();
return $products1;
}
下面是在前端获取值的ajax请求
$.ajax
({
type: "POST",
url: "<?php echo $this->getUrl('finder/index/products');?>",
data:"subvalue="+subval,
success: function(response)
{
alert(response);
$("#responseproducts").html(response);
};
});
$.ajax
({
类型:“POST”,
url:“”,
数据:“subvalue=“+subval,
成功:功能(响应)
{
警报(响应);
$(“#responseproducts”).html(响应);
};
});
我无法获取前端中的值。请告诉我如何获取前端中的值在php中解码为JSON:
return json_encode($products1);
并用javascript对其进行解码:
JSON.parse(response);
这应该行得通。之后,您可以使用以下工具进行测试:
console.log(response);
如果成功发送ajax请求,则在控制器操作中添加此代码
$response['prodcutdata'] = $products1;
$this->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
return;
之后,在ajax请求成功中,按如下方式访问它:
alert(response.prodcutdata);
您是否收到任何js错误?请尝试将值作为json返回。遵循此操作不会出现任何js错误