我正在开发一个应用程序,我的前端部分出了问题。它与 Symfony 和 Ajax 相关。所以我使用会话变量,以便在将学校表单发送到服务器(后端)之前将学生添加到学校。我正在使用一些Ajax。我不知道如何调试它。我尝试了它在网上发布的内容,但它不起作用。我能够将学生添加到学校,但我无法更新学生信息。这似乎很容易,但并不像我想象的那样。这是我在 SchoolCreate.html.twig 中使用的ajax调用:
function ajax () {
$.ajax({
type: 'POST',
url: "{{ path('student_add') }}",
data: $('#addStudent').serialize(),
success: function (response) {
var htmlToDisplay = response.trim();
$('#students').html(htmlToDisplay);
}
});
}
我用来创建学校的模式:
<div class="modal-body">
{{ render(controller('AppBundle:School:addStudent')) }}
</div>
传递addStudent :
public function addStudentAction(Request $request) {
$student = new Student();
$form = $this->createForm(StudentType::class, $student);
$form->handleRequest($request);
$headers = array('Accept' => 'application/json');
$encoders = array(new JsonEncoder());
$normalizers = array(new ObjectNormalizer());
$serializer = new Serializer($normalizers, $encoders);
if ($request->isXmlHttpRequest())
{
$session = $request->getSession();
$student = $form->getData();
if ($session->has('students'))
$students = $session->get('students');
$students[] = $student;
$session->set('$students', $students);
$template = $this->renderView('AppBundle:School:StudentList.html.twig', array(
'students' => $students
));
return new Response($template);
}
return $this->render('AppBundle:Student:StudentAdd.html.twig', array(
'form' => $form->createView()
));
}
我尝试在updateStudent函数中执行相同操作,但是我遇到了与30秒相关的问题,我不知道如何在Ajax中进行调试。我在 StudentList.html.twig 中定义了我的更新底部 谢谢,