如何从ajax获取数据属性到控制器?

时间:2016-04-11 19:16:05

标签: php jquery ajax symfony

我无法从jQuery / ajax请求将i.e.: obj\Release\Package\PackageTmp\Scripts\WebForms\WebUIValidation.js 变量传递给我的控制器。

最终我希望能够使用它来更新我的数据库中的字段。

我的问题是尝试访问控制器中的$_POST。我一直得到通知数量是未定义的,我是var_dumping它,它是null。

我是jQuery / ajax的新手,我不确定如何解决这个问题。我可以真正使用帮助来获取数据属性$_POST[‘quantity’],在我的控制器的ajax请求中,并了解为什么quantity为空。

我希望我在提问时能够清楚并感谢你的帮助!

控制器功能:

$_POST[‘quantity’]

twig / ajax& jQuery的:

/**
 * Updates quantity using ajax/jQuery request from showCart twig file
 *
 * @Route("/{id}/quantityUpdate", name="product_quantityUpdate")
 * @Method("POST")
 * @Template()
 */
public function quantityUpdateAction(Request $request, $id) {

    $em = $this->getDoctrine()->getManager();

    $productId = $em->getRepository('ShopBundle:Product')->find($id);
    $cart = $em->getRepository('ShopBundle:UserCart')->findOneBy(['user' => $this->getUser(), 'submitted' => false]);
    $quantity = $em->getRepository(ShopBundle:Quantity')->findOneBy(['quantity' => $productId->getId()]);

    var_dump($this->get('request')->request->get('quantity'));

    $quantity = isset($_POST['quantity']) ? var_dump($_POST['quantity']) : false;

    // $quantity->setQuantity(/* Code for finding correct product to update quantity */);
    // $em->persist($quantity);
    // $em->flush();

    return new Response ("This has been successful!");
}

1 个答案:

答案 0 :(得分:0)

更改

var value = $('spinner').val(); 

var value = $('.spinner').val(); 

我的选择器出现问题,因为我看到它丢失了。

如果您有多个具有相同类别的元素,那么最好使用this.value;