Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

438
Views
Problema de enrutamiento de llamadas Symfony 3 Ajax

Estoy configurando una llamada Ajax simple en uno de mis formularios. Cuando un usuario ingresa caracteres en un campo, se activa la siguiente llamada Ajax:

 self.modify = function (input_field) { if ($(input_field).val().length > 5) { $.post("{{path('get_bio_control_sample')}}", {sample_number: $(input_field).val()}, function (response) { if (response.code == 100 && response.success) { alert(response.sample_number); } }, "json"); } };

Que está destinado a acceder a la siguiente acción del controlador:

 class BioControlController extends Controller { /** * @Route("/bio_control/sample", name="get_bio_control_sample") */ public function getBioControlSampleAction(Request $request){ $sample_number = $request->query->get('sample_number'); $response = array("code" => 100, "success" => true, "sample_number" => $sample_number, "sample_data" => "test"); return new JsonResponse($response); } }

Sin embargo, cuando se activa la llamada, JS devuelve el error:

 http://127.0.0.1:8000/omics_experiment/%7B%7Bpath('get_bio_control_sample')%7D%7D 404 (Not Found)

Accedo a la llamada Ajax desde omics_experiment/new (que está en OmicsExperimentController ) y uso la ruta /bio_control/sample (como se muestra en la anotación), pero no funciona. ¿Alguien puede explicar lo que estoy haciendo mal?

Usé esta pregunta como plantilla, el hecho de que esté usando Symfony 3 podría significar que hay errores sintácticos.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Hace poco tuve que hacer esto. Tampoco soy un experto en Symfony, pero como acabo de hacer esto, es posible que pueda ayudar. Usar Symfony no es muy diferente a hacerlo con una URL estática. Lo principal es asegurarse de que su controlador y ruta estén configurados correctamente y funcionen sin AJAX, luego solo necesita usar la ruta establecida en su ruta para la llamada .post.

Y lo que lo empeora es que es realmente difícil probar este tipo de interacción. Incluso las ramitas incluidas pueden hacer que falle si están mal configuradas.

Mirando su código nuevamente, creo que este puede ser el problema. Cambia esto

 $.post("{{path('get_bio_control_sample')}}", {sample_number:

a esto

 $.post("/bio_control/sample", {sample_number:

Porque creo que la forma en que lo tienes solo es buena para las plantillas twig, así que si Symfony no está mirando tu archivo JQuery como lo hace con una plantilla twig, entonces no entenderá cómo obtener la ruta.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!