【发布时间】:2016-09-01 12:25:20
【问题描述】:
我正在做一个电子商务网站项目,但我遇到了一个问题, 实际上我有一个产品详细信息页面,并且对于每个产品我都有一种颜色,所以我试图显示与 ajax 匹配的颜色的图像。这是产品页面: 当我点击颜色时,我得到颜色并启动 ajax 功能
这是我的代码:
“树枝”:
<a class="color1" onclick="changecolor('{{i.color}}', {{i.idproduit.idproduit}});" style="background-color: {{i.color}}" href="javascript:void(0);"></a>
...
<script>
function changecolor(color, idprod) {
var idprod = idprod;
var color = color;
var DATA = 'idprod=' + idprod + '&color=' + color;
$.ajax({
type: "POST",
url: "{{ path('change_product_color')}}",
data: DATA,
cache: false,
success: function (data) {
$('#resultats').html(data);
}
});
return false;
}
</script>
“改变颜色.html.twig”
<div id="resultats" class="tovar_view_fotos clearfix">
<div id="slider2" class="flexslider">
<ul class="slides">
<li><a href="javascript:void(0);" ><img src="{{ asset(path('my_image_route1', {'id': pimg.idimage})) }}" alt="" /></a></li>
<li><a href="javascript:void(0);" ><img src="{{ asset(path('my_image_route2', {'id': pimg.idimage})) }}" alt="" /></a></li>
</ul>
</div>
<div id="carousel2" class="flexslider">
<ul class="slides">
<li><a href="javascript:void(0);" ><img src="{{ asset(path('my_image_route1', {'id': pimg.idimage})) }}" alt="" /></a></li>
<li><a href="javascript:void(0);" ><img src="{{ asset(path('my_image_route2', {'id': pimg.idimage})) }}" alt="" /></a></li>
</ul>
</div>
</div>
“控制器中的操作”
public function changeColorAction() {
$request = $this->container->get('request');
if ($request->isXmlHttpRequest()) {
$id=$request->request->get('idprod');
$c=$request->request->get('color');
$em = $this->getDoctrine()->getManager();
$produit = $em->getRepository('WelcomeBundle:Produit')->find($id);
$stock = $em->getRepository('WelcomeBundle:Stock')->find($produit->getIdstock());
$boutique = $em->getRepository('WelcomeBundle:Boutique')->find($stock->getIdboutique());
$colors = $em->getRepository('WelcomeBundle:Produitimage')->findBy(array('idproduit' => $id));
$sizes = $em->getRepository('WelcomeBundle:Produitsize')->findBy(array('idproduit' => $id));
$query5 = $em->createQuery("SELECT m FROM WelcomeBundle:Produitimage m WHERE m.color='$c' AND m.idproduit='$id'");
$pimg = $query5->getResult();
$pimg1 = $pimg[0];
return $this->container->get('templating')->renderResponse('TMClientBundle:Client:changecolor.html.twig', array(
'product' => $produit,
'sizes' => $sizes,
'colors' => $colors,
'boutique' => $boutique,
'pimg' => $pimg1
));
} else {
return $this->productPageAction($id);
}
}
此图描述了问题:
检查代码后,图像有但没有显示!
【问题讨论】:
标签: javascript php jquery ajax symfony