在 Symfony 4+ 中,您可以在控制器或操作或任何地方使用依赖注入,例如,如果您正在提交表单并希望刷新同一表单的令牌,则$tokenId
它是表单类型类的 FQDN:
namespace App\Controller;
use App\Form\MyFormType;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Security\Csrf\CsrfTokenManagerInterface;
class MyController extends AbstractController
{
public function submit(CsrfTokenManagerInterface $tokenManager): JsonResponse
{
// ...
$token = $tokenManager->refreshToken(MyFormType::class);
return new JsonResponse(['token' => $token->getValue()]);
}
}
在您的 JavaScript 中,您可以更新现有的 token <input>
。
const token = document.getElementById('_token');
fetch(url, opts)
.then(resp => resp.json())
.then(response => {
if (response.token) {
token.value = response.token;
}
});