ฉันมีแบบฟอร์มที่มี ajax callback ดังต่อไปนี้ ในแต่ละโทเค็นการส่งจะไม่แตกต่างกัน มันคงที่สำหรับการส่งทั้งหมด
wall.routing.yml
wall.commentแบบฟอร์ม:
เส้นทาง: '/commentform'
ค่าเริ่มต้น:
_title: 'แบบฟอร์มความคิดเห็น'
_form: '\Drupal\wall\Form\WallCommentPost'
ความต้องการ:
_permission: 'เข้าถึงเนื้อหา'
_csrf_token: 'จริง'
ในจากดังต่อไปนี้
WallCommentPost.php
$ajax = [
'callback' => [$this, '_wall_comment_ajax_form_post'],
'wrapper' => 'ประเภทฟิลด์แทนที่ความคิดเห็น',
'เหตุการณ์' => 'คลิก',
'ความคืบหน้า' => อาร์เรย์ (
'type' => 'throbber',
'ข้อความ' => '',
)
];
$แบบฟอร์ม['wall_submit'] = [
'#type' => 'ส่ง',
'#value' => 'ส่ง',
'#ajax' => $ajax,
'#prefix' => '<div class="col-12 p-1 d-flex justify-content-between"><div class="file_name_insert file_name_insert_data-' . $nid . ' pl-4 text-truncate"> </div>',
'#suffix' => '</div>',
'#attributes' => อาร์เรย์(
'คลาส' => อาร์เรย์(
'บีทีเอ็น',
$ajax_class,
'd-ไม่มี'
'subbtn-' . $ นิด
),
'ปิดการใช้งาน' => 'ปิดใช้งาน'
),
];
$url = Url::fromRoute('wall.commentform');
$token = \Drupal::csrfToken()->get($url->getInternalPath());
$form['#action'] = Url::fromRoute('wall.commentform')->setOption('query', [FormBuilderInterface::AJAX_FORM_REQUEST => 1, 'token1' => $token])->toString( );