簡體   English   中英

Symfony-Ajax表單驗證-額外數據

[英]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是一個真正的自定義表單。 感謝您的回答

如果您的表單具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM