Ajax jquery php : affichage de données

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Partager sur FacebookPartager sur TwitterPartager sur Google+

Ajax jquery php : affichage de données

Messagepar florianb » 23 Déc 2013 à 20:58

Bonsoir,

Depuis quasi ce matin je cherche comment faire un truc "banal"... et... pas moyen! J'arrive même pas à récupérer un textarea et le charger dans une div après un traitement php lorsque j'appuie sur un bouton :o, pourtant ca parait simple :shock: .

Voici le code que j'ai fait :
Code: Tout sélectionner
function view(view,textarea)
{
	$('#bb_syno').load('http://localhost/ajax.php','p=1&post=' + $('#f_syno').val() );
}


Je vois vraiment pas où est mon erreur :/. j'ai même essayé {p: 1, post: $('#f_syno').val() } qui est une autre écriture à priori (post à priori, donc ce que j'aimerai) mais... aucune ne fonctionne, je comprends pas pourquoi :/
Sur mon bouton j'ai onclick="view('#f_syno', '#bb_syno');"... donc ca évite le .click mais... rien s'affiche alors que mon code php est bon (en javascript sans jquery cela fonctionne nickel).

Merci par avance pour votre aide!
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Ajax jquery php : affichage de données

Messagepar Geo » 23 Déc 2013 à 21:04

Si c'est de l'Ajax alors pourquoi utilise la méthode load au lieu de la méthode ajax :shock: ???
Tout mes MODs/Extensions sont maintenant au statut abandonné.
Geo
Trifouilleur de code
 
Messages: 11276
Enregistré le: 25 Fév 2010 à 06:03
Localisation: Nantes, France

Re: Ajax jquery php : affichage de données

Messagepar florianb » 23 Déc 2013 à 21:18

Car j'ai trouvé des sites qui disent que c'est possible et le SDZ en parle ici. J'ai également trouvé des démos.
L'autre nécessite plus de configuration j'ai l'impression et m'y connaissant pas vraiment, j'ai pas envie de faire une boulette qui entraine une faille...

EDIT : Je viens aussi de voir que ajax (pas load) utilise json à priori et de ce que j'ai lu c'est le moins "sécurisé", puis je récupère du html moi ^^
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Ajax jquery php : affichage de données

Messagepar Geo » 24 Déc 2013 à 01:23

Alors tout ça ce sont des idioties totales car le fait que ton serveur renvoie du json ou du html c'est pareil, l'avantage du JSON c'est que c'est plus léger et plus rapide pour communiquer avec le serveur.

Quand à la méthode Ajax elle n'utilise JSON seulement si tu le spécifie :o
Sinon elle est beaucoup plus complète et surtout beaucoup plus évolutive que load...

Exemple:
Code: Tout sélectionner
		$.ajax({
			type: 'POST',//ou GET
			url: 'ton url',
			data: {'parametre': 'data'},
			timeout: 1000,
			dataType: 'json',
			beforeSend: function( xhr ) {
				 //Code a exécuter avant la connexion au serveur
			},
			success: function(data, textStts, errThrown) {
				 //Code a exécuter si tout s'est bien passé
			},
			error: function(data, textStts, errThrown) {
				//Code a exécuter en cas d'erreur
			},
			complete : function(resultat, statut){
				 //Code a exécuter une fois que tout est fini
			}
		});


Tellement simple....
Tout mes MODs/Extensions sont maintenant au statut abandonné.
Geo
Trifouilleur de code
 
Messages: 11276
Enregistré le: 25 Fév 2010 à 06:03
Localisation: Nantes, France

Re: Ajax jquery php : affichage de données

Messagepar florianb » 24 Déc 2013 à 02:16

Avec le json, j'ai lu que la sécurité c'était surtout au niveau des demandes, comme quoi la demande faite peut-être récupérée sur un site tiers ou quoi...

J'ai quand même essayé tout ca avant ta réponse avec ça mais... rien s'affiche, j'ai essayé des alert, mais rien s'affiche, j'ai l'impression qu'en fait c'est le lancement qui bug.

Code: Tout sélectionner
function view(type,textarea,view) {
	$.ajaxSetup({cache:false}):
	var content = $('#f_syno').val();
	var view = '#bb_syno';
	var type = 1;
	if(textarea.length < 1) { $(view).html('').html('Champs de récupération vide.'); }
	$(view).html('').html('Loading...');
     $.ajax({
         type: 'POST',//ou GET
         url: 'http://localhost/ajax.php',
         data: {'p': type, 'post': content},
         timeout: 1000,
         dataType: 'json',
         beforeSend: function( xhr ) { },
         success: function(data, textStts, errThrown) { },
         error: function(data, textStts, errThrown) { alert('fail'); },
         complete : function(resultat, statut){ alert('succes'); }
      });
}


Coté html j'ai :
Code: Tout sélectionner
		<dl>
			<dt><label for="f_syno">{L_SYNOPSIS_S} :</label></dt>
			<dd>
				<div>
					{BBCODE_SYNO}
				</div>
				<textarea id="f_syno" name="f_syno" rows="5" cols="50">{F_SYNO}</textarea>
				<p>
					<input type="button" value="Visualiser" onclick="view('1', '#f_syno', '#bb_syno');" />
				</p>
			</dd>
		</dl>
		<div id="bb_syno" class="view"></div>


A terme ce seront des variables au lancement qui définiront ce que je pose en var.

Tellement simple... j'ai pas tout capté pour pas y arriver à l'évidence XD. Mais j'avoue que la simple requête ajax (si c'est pas elle qui bug) me parait simple :). Il y a pas mal d'option d'ailleurs dans la doc jquery, c'est pas mal :)
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Ajax jquery php : affichage de données

Messagepar Geo » 24 Déc 2013 à 02:40

Avec le json, j'ai lu que la sécurité c'était surtout au niveau des demandes, comme quoi la demande faite peut-être récupérée sur un site tiers ou quoi...

Gné???
On appelle ça du cross-site scripting et c'est pareil avec le HTML, faut bien comprendre le sens des phrase, et si ton serveur traite correctement les données il n'y a pas lieu de soucier des failles de sécurité. Car si il y a une faille sur ton serveur, qu'il renvoi du HTML ou du JSON, fait-moi confiance la faille sera la même pour moi :mrgreen: :mrgreen:

Pour passer outre les restrictions XSS on utilise le JSONP qui est un système de callback pseudo-sécurisé, mais au final ça n'a que peu d’intérêt.

J'ai quand même essayé tout ca avant ta réponse avec ça mais... rien s'affiche, j'ai essayé des alert, mais rien s'affiche, j'ai l'impression qu'en fait c'est le lancement qui bug.

Tu utilise la console de ton navigateur?
Tu n'a pas l'impression que tu a des grosses erreurs de syntaxe dans ton code :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?:
Code: Tout sélectionner
$.ajaxSetup({cache:false}):

Le : ne te choque pas à la fin de ton instruction ???
Code: Tout sélectionner
complete : function(resultat, statut){ alert('succes'); }

Mais ça c'est pas la fonction qui est exécutée en cas de réussite, c'est une fonction de retour (callback) quand tout s'est terminé, que ça ai échoué ou réussi peu importe !!

J'ai pas l'impression que tu potasse réellement, le framework Jquery et le language PHP sont tout les deux extrêmement bien documentés voir parmi les mieux documentés et tu te débrouille de buter sur des erreurs de syntaxe, rappelle-toi ce que je t'ai dit il y a quelques jours, ce sont des fautes typiques inattentions (manque de sommeil, saturation, etc) :!: :!:
Tout mes MODs/Extensions sont maintenant au statut abandonné.
Geo
Trifouilleur de code
 
Messages: 11276
Enregistré le: 25 Fév 2010 à 06:03
Localisation: Nantes, France

Re: Ajax jquery php : affichage de données

Messagepar florianb » 24 Déc 2013 à 10:43

Pour le "cross-site scripting", ok, en théorie j'ai pas de failles de sécurité, j'ai juste mon fichier qui renvoie un echo donc du contenu html traité ($template peut pas s'utiliser ^^).

J'utilise les alert donc non, mais c'est vrai que la console est plus pratique lol, pas pensé (oui le sommeil hier :/).
Pour l'erreur de syntaxe si! Merci ^^. Et pour le complete, j'avais compris ^^, j'ai juste mis un alert pour si j'avais un retour d'erreur quelconque et si tout se passe bien complete ^^. J'avais saisi la différence entre success et complete, pas fatigué à ce point :p.
En fait mon erreur était complètement stupide d'ailleurs => j'avais pas ajouté jquery dans l'overall_header... donc il reconnaissait pas la fonction... j'ai pas testé mais ca devrait fonctionner :).

Par contre, depuis quelques temps, je remarque que mes js n'ont pas {TEXT} de traduit (ce que php défini), c'est normal que ca s'affiche pas? Enfin, pas normal, mais étant dans le dossier parent du forum (et j'ai bien modifié l'emplacement du forum au début du php auquel on accède), peut-être que c'est du à cela?

EDIT : En fait c'est pas vraiment bon, la fonction se déclenche toute seule et sinon il faut genre click ou on, mais je n'ai pas d'id du bouton déterminé :/. Tu connaitrais pas une astuce ? :/
J'ai tenté de créer une classe où j'ai mis dans l'élément html des data, me manque plus qu'à récupérer les données de l'élément courant sans indiquer un quelconque id/classe fixe et normalement finiiiiii :mrgreen: (manquera l'ajax x) )
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Ajax jquery php : affichage de données

Messagepar Geo » 24 Déc 2013 à 18:50

Tu met ta requête ajax dans une fonction que tu appelle lors d'un évènement sur ton bouton!
Tout mes MODs/Extensions sont maintenant au statut abandonné.
Geo
Trifouilleur de code
 
Messages: 11276
Enregistré le: 25 Fév 2010 à 06:03
Localisation: Nantes, France

Re: Ajax jquery php : affichage de données

Messagepar florianb » 24 Déc 2013 à 20:19

Oui oui, l'ajax c'était bon, c'était le reste pour récupérer les paramètres mais j'ai trouvé comment faire. Niveau sécurité etc c'est bon comme ca ?
Code: Tout sélectionner
	view = function() {
		var base = $(event.currentTarget).data('sp-id').split(',');
		var type = base[0];
		var textarea = '#' + base[1];
		var view = '#' + base[2];
		var content = $(textarea).text();
		$(view).html('').html('Loading...');
		$.ajax({
			type: 'POST',
			url: 'http://localhost/ajax.php',
			data: {'p': type, 'post': content,},
			timeout: 1000,
			dataType: 'html',
			success: function(data, textStts, errThrown) { $(view).html('').html(data); },
			error: function(data, textStts, errThrown) { $(view).html('').html('Error.'); },
		}); }


PS : Joyeux Noël tout le monde :mrgreen: ... enfin, bon réveillon là ^^
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Ajax jquery php : affichage de données

Messagepar Geo » 24 Déc 2013 à 20:31

florianb a écrit:Niveau sécurité etc c'est bon comme ca ?

Cette phrase me laisse perplexe :shock: :shock:
Comment parler de "sécurité" sur un script client-side? En tant que client il peux modifier a volonté les données envoyés par le serveur, c'est à toi de contrôler ce que le client renvoie :!: :!:
Si je veux je modifie la requête pour y injecter le paramètre que JE veux, ton serveur doit donc bien trier ce que j'envoie !!
Tout mes MODs/Extensions sont maintenant au statut abandonné.
Geo
Trifouilleur de code
 
Messages: 11276
Enregistré le: 25 Fév 2010 à 06:03
Localisation: Nantes, France

Re: Ajax jquery php : affichage de données

Messagepar florianb » 25 Déc 2013 à 10:23

Non mais dans le sens où on dit qu'il y a d'importantes failles/pbs avec JS donc... je sais pas trop ^^. Après si c'est coté réception serveur bein j'ai fait comme d'hab donc c'est good :p.

Par contre, une idée pour cette histoire d'affichage "html" des infos (les {TEXTE}) que je ne vois pas correctement, où il n'y a aucune "traduction" qui en est faite ?
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10

Re: Ajax jquery php : affichage de données

Messagepar Geo » 25 Déc 2013 à 20:43

florianb a écrit:Non mais dans le sens où on dit qu'il y a d'importantes failles/pbs avec JS donc... je sais pas trop ^^?

Mais dans quel monde vit-tu?

Si on va dans ce sens-là ben le HTML, le CSS sont aussi plein de faille alors :!: :!: :!:
Tout mes MODs/Extensions sont maintenant au statut abandonné.
Geo
Trifouilleur de code
 
Messages: 11276
Enregistré le: 25 Fév 2010 à 06:03
Localisation: Nantes, France

Re: Ajax jquery php : affichage de données

Messagepar florianb » 26 Déc 2013 à 18:30

Si c'est que à ce niveau là alors ca va ^^, j'avais pas vu la chose comme ca ^^
Adresse du forum pour tous les posts : http://forum.series-parlotte.eu. Merci à toute votre équipe ;)

Image Image http://series-parlotte.eu. Site en construction, recherchons codeur, graphistes, rédacteurs. 2 thèmes sur le forum au choix en étant membre.
Avatar de l’utilisateur
florianb
Apprenti-floodeur
Apprenti-floodeur
 
Messages: 1217
Enregistré le: 15 Juin 2011 à 16:10


Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 2 invités