Bonjour,
J'ai une requête ajax GET comme ceci :
qui envoie mes donnes à mon controller ('/test').
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 let donnee = { 'start' : arg.start, 'end' : arg.end, } $.ajax({ type: 'GET', url: '/test', data: {donnees: JSON.stringify(donnee)}, dataType: 'donnees' })
Jusqu'à la aucun souci tout fonctionne très bien.
Ce que je souhaiterais maintenant, c'est intégrer dans l'URL de ma page de manière asyncrhone, les données reçu vai la rêquete ($_GET['donnees']).
En effet, étant donnée que la return de ma fonction s'effectue sur la même page, l'URL n'est pas modifié directement alors que j'ai besoin des informations qui y sont contenus dans la requête pour entrer dans mes conditions et lire mes instructions.
Lorsque je clique sur le resultat de ma requête je vois bien que celle-ci a été envoyé, et ma page est rechargée de la bonne manière avec les données dans l'URL.
l'Objectif : J'aimerais que l'URL soit modifié directement à l'envoie de la requête ajax sans devoir passer par le click sur le résultat de la requête ou un rechargement de la page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 /** * @Route("/test", name="test", methods={"GET", "POST"}) */ public function index(?Calendar $calendarr, CalendarRepository $calendary, Request $request, $_route): Response { // $request = json_decode($request->getContent()); // $referer = (string) $request->headers->get('referer'); // get the referer, it can be empty! // $refererPathInfo = Request::create($referer)->getPathInfo(); // $routeInfos = $this->router->match($refererPathInfo); // dd($request); $query = $this->entityManager->createQuery( 'SELECT c FROM App:Calendar c WHERE c.title != :title ORDER BY c.title ASC' )->setParameter('title', 'indisponible'); $calendar = $query->getResult(); $calendars = new Calendar; $form = $this->createForm(CalendarType::class, $calendars); $calendrier = $calendary->findAll(); $code="";//initialisation $codeSelect='';//initialisation if (isset($_GET['donnees'])){ // dd('test'); /** Je met ma requête ajax(GET) dans une variable : * Etant donnée qu'ell est en string() je délimite la bout concernant a START * Et le bout concernant END */ $url = $_GET['donnees']; $urlStart = substr($url,10,24); $urlEnd = substr($url,43,-2);
Partager