[英]Symfony - Ajax form validation - Extra data
我需要通過一個帶有Ajax調用的Symfony表單發送一個數據,其中包含一個包含控制器選項的額外數據。
我正在開發一個包含Symfony表單組件的自定義框架。
所以我嘗試在我的JS中發送這樣的值:
$.ajax
(
{
type: "POST",
url: '/myUrl',
data:
{
'formData' : $(this).serialize(),
'extraData' : {'test1' : 'test1', 'test2' : 'test2'}
},
success: function(result)
{
// do something
}
}
);
如何在控制器中獲取表單數據以使組件正確理解它? 這段代碼不起作用:
$formData = $this->getRequest()->request('formData');
$form->bind($formData);
謝謝。 我希望我的問題很清楚
編輯:我終於將數據集成到表單中的隱藏字段中。 該表單沒有聲明任何data_class,因為我們使用的ORM是一個真正的自定義表單。 感謝您的回答
嘗試$form->submit($formData);
http://symfony.com/doc/current/cookbook/form/direct_submit.html
如果您的表單具有data_class選項,則無法直接使用extra_values綁定/處理請求。
您的表單需要使用已在表單類型上定義的變量。
像這樣使用它:
if($request->isXmlHttpRequest()) {
$form->handleRequest($request);
if($form->isValid()) {
// To get extra data;
$extra_data = $request->request->get('extraData');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.