Bonjour,

J'ai une requête ajax GET comme ceci :

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'            
    })
qui envoie mes donnes à mon controller ('/test').

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);