Filtre avec js

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Filtre avec js

Re: Filtre avec js

par moogli » 19 sept. 2016, 09:45

salut,

dans le premier exemple c'est une requête GET et la une requête POST du coup risque d'y avoir un problème si tu changes tout le temps de méthode ;) (sauf si c'est $_REQUEST qui est utilisé au bout).

Pour le reste si à la base c'est rechercheajax.php.html (.php.html ? O_o c'est peu courant t'es certain que coté serveur ça passe ? ;) ) qui est appelé c'est donc que ce fichier doit faire le relais avec les autres ?

Sans connaitre l'architecture on ne peux pas beaucoup t'aider.
Pour le debug, c'est simplement que "ça plante" ne veux rien dire (choux ? carottes ? betteraves ? ...).
déboguer c'est :
- coté client avec la console développer de chrome / frirefox par exemple pour suivre pas à pas la script JS et voir ce qu'il fait et ce qu'il envois coté serveur.
- coté serveur, par exemple avec xdebug, c'est vérifier les données ressuent et voir comme le script ce comporte avec.

Dans ton cas je pense que rechercheajax fait un "routage" vers les autres fichier et que le problème peux venir de la.
Je trouve étrange de devoir passer d'un fichier qui semble générique à une url spécifique.

Il faut donc voir ce que fait ce fichier ;)


@+

Re: Filtre avec js

par yoann38 » 17 sept. 2016, 23:22

Bah comme je le dis un peu plus haute ca plante du moment ou je change le format des mes urls actuellement je n'utilisé que des tiret pour séparer mes critères la je prefére utilisé des slashes et du coup le js ne marche plus il plante au moment de "chargement en cours"

donc sous l'ancien format url à savoir :
# -- sortie + région -------------------
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
ca marche

Mais sous le nouveau format ca ne marche plus je n'ai rien changé, uniquement les / au lieu des - et hop ca plante :/
# -- sortie + région -------------------
RewriteRule ^sortie/region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
Donc je ne suis pas un expert du js c'est pour ca que la connaissance de l'époque m'avait aider d'ailleurs mais ds le js on voit que ca appele la page rechercheajax.php ( qui contenai que des tirets et maintenant mes urls peuvent avoir des / je pense que c'est cela qui fait planter ) mais je ne sais pas comment solutionner cela ...

Edit car si ds la partie :
$.ajax({
        type: 'POST',
        url: 'include/rechercheajax.php.html',
        data: 'du='+du+'&au='+au+'&page='+page+'&departement='+dep+'&region='+region+'&loisir='+loisir+'&ville='+vil+'&date='+datetimepicker2,
        processData: true,
        async: false,
je met les urls entière ca marche exemple:
$.ajax({
        type: 'POST',
        url: 'http://127.0.0.1/first/sortie/region-rhone-alpes.html',
        data: 'du='+du+'&au='+au+'&page='+page+'&departement='+dep+'&region='+region+'&loisir='+loisir+'&ville='+vil+'&date='+datetimepicker2,
        processData: true,
        async: false,
mais voilà comment mettre l'url du moment ...

Re: Filtre avec js

par @rthur » 12 sept. 2016, 12:19

Bonjour,

Il faut que tu fasses ton debug avant toute chose pour savoir à quel moment ça plante et on pourra t'aider ensuite.
Car là ta question n'est pas assez précise pour qu'on puisse t'aider efficacement.

Filtre avec js

par yoann38 » 27 août 2016, 08:16

Salut à tous.
Voila j'ai un script js qui marche bien mais j'ai du revoir mes urls avec de l'url rewriting est depuis il plante.

Mon js est:
// JavaScript Document
// On donne une action dès qu'on clique sur un lien des nav
$(document).ready(function(){
    $('.filter-tabs a, .page:not(.active)').on('click', function(e) {
				
        e.preventDefault(); // On annule le fait d'avoir cliqué sur le lien.
        var du = $(this).attr('data-du');
        var au = $(this).attr('data-au');
        var page = $(this).attr('data-page');
        chargerDonnees(du, au, page);
	});
});
// On déclare la fonction qui va aller chercher les données en base de données selon le bouton cliqué
function chargerDonnees(du, au, page) {
	
	var dep = $('#departement').val();
	var region = $('#departement').attr('data-region');
	var loisir = $('#loisir').val();
	var ville = $('#ville').val();
	var datetimepicker2 = $('#datetimepicker2').val();
	
    $.ajax({
        type: 'GET',
        url: 'include/rechercheAjax.php',
        data: 'du='+du+'&au='+au+'&page='+page+'&departement='+dep+'&ville='+ville+'&region='+region+'&loisir='+loisir+'&date='+datetimepicker2,
        processData: true,
        async: false,
		

        beforeSend: function() {
            $('#bloc_page').html('Chargement en cours');
        },
        success: function (data) {
            $('#bloc_page').html(data);
            // On doit le rappeller car un nouveau bloc pagination a été créé
			
            $('.page:not(.active)').on('click', function(e) {
				
                e.preventDefault(); // On annule le fait d'avoir cliqué sur le lien.
                var du = $(this).attr('data-du');
                var au = $(this).attr('data-au');
                var page = $(this).attr('data-page');
                chargerDonnees(du, au, page);
            });
        }
    });
}
Mes anciennes urls était : donc en gros sans les /
# -- sortie + région -------------------
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
Depuis que j'ai passé mes urls sous la forme suivante par exemple:
# -- sortie + région -------------------
RewriteRule ^sortie/region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1
Le js plante lorsque je clique sur un de mes filtres, et s'arrete sur l'étape "chargement en cours".
Bouton pour filtrer:
<div class="filter-tabs col-md-6 col-sm-12 marg-form">
					<ul class="nav nav-tabs list-unstyled list-inline">
						<li class="active"><a href="#home" data-du="" data-au="" data-page="1" data-toggle="tab" >Toutes </a></li>
						<li><a href="#profile" data-du="<?php echo date('Y-m-d'); ?>" data-au="<?php echo date('Y-m-d'); ?>" data-page="1" data-toggle="tab">Aujourd'hui </a></li>
						<li><a href="#messages" data-du="<?php echo date('Y-m-d', strtotime('+1 day')); ?>" data-au="<?php echo date('Y-m-d', strtotime('+1 day')); ?>" data-page="1" data-toggle="tab">Demain </a></li>
						<li><a href="#settings" data-du="<?php $strtotime = (date('N') == 7) ? 'Saturday - '.date('N').' days' : 'Saturday'; echo date('Y-m-d', strtotime($strtotime)); ?>" data-au="<?php echo date('Y-m-d', strtotime('Sunday')); ?>" data-page="1" data-toggle="tab">Ce week end </a></li>
                    </ul>                              
			</div>