Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2011, 02h33   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Par défaut Ajax Jquery : click et declenchement d'update

Bonjour,

Je débute en Jquery mais je commence à m'en sortir...
Par contre sur un developpemet en cours j'ai un problème qui perdure.

Mon Javascript qui pose problème
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
jQuery(document).ready(function () {
 
	jQuery.noConflict();
 
	jQuery('div.thumb').click(function(){	
			var target =  jQuery(this).attr('id'); 
			jQuery.get('ajax_update3.php', { idpourphp:target});
			jQuery('#'+target + '> .tick').css('display','block');
			//alert(target);	
	});
 
});
Mon HTML :
Code :
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
 
<div id="mere">
	<div id="titre">Charly <span>Charly - Fantastique - Série en cours</span></div>
 
	<div id="1679" class="thumb">
		<a href="../C/Charly/Charly - T01 - Jouet d'enfer.cbr" target=\"_blank\"> 
			<img class="ombrage3" src="../C/Charly/Charly - T01 - Jouet d'enfer.jpg" width="200" height="260" >
		</a>
		<br>
		<span class="titre_album">1 - Jouet d'enfer</span>
		<div class="tick"><img src="./images/principal/tick1.png" ></div>
	</div>
	<div id="1680" class="thumb">
		<a href="../C/Charly/Charly - T02 - L'Ile perdue.cbr" target=\"_blank\"> 
			<img class="ombrage3" src="../C/Charly/Charly - T02 - L'Ile perdue.jpg" width="200" height="260" >
		</a>
		<br>
		<span class="titre_album">2 - L'Ile perdue</span>
		<div class="tick" style="display: block "><img src="./images/principal/tick1.png" ></div>
		</div>
	<div id="1681" class="thumb"><a href="../C/Charly/Charly - T03 - Le reveil.cbr" target=\"_blank\"> 
			<img class="ombrage3" src="../C/Charly/Charly - T03 - Le reveil.jpg" width="200" height="260" >
		</a>
		<br>
		<span class="titre_album">3 - Le reveil</span>
		<div class="tick" style="display: block "><img src="./images/principal/tick1.png" ></div>
	</div>
</div>
Le Fichier ajax_update3.php appelé par JQuery :
Code :
1
2
3
4
5
6
7
8
9
 
$id  = ($_GET['idpourphp']) ;
$requete = "UPDATE  `BD`.`principal` SET  `down` =  '1' WHERE  `principal`.`id` ='".$_GET['idpourphp']."'";
 
if(mysql_query($requete))  
	{echo '1';}
else  
    {echo '0';}  
mysql_close();
Mon problème : quand je clique successivement sur plusieurs DIV class="thumb" seules certaines déclenchent un UPDATE de la BDD, sans logique apparente, ce ne sont pas toujours les mêmes qui posent problèmes.
Le plus déstabilisant est que si je décommente dans le javascript : Il n'y a plus de problèmes.

A votre avis qu'est-ce que j'ai fait de mal ?
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 05h05   #2
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
Peut etre que les requetes se superposent trop vite... as tu essayé d'utiliser un callback pour la methode jQuery.get(), comme ça ton display block, s'effectuera uniquement quand l'ajax se sera bien déroulé?

Code :
1
2
3
4
5
6
 
                jQuery.get('ajax_update3.php', function(data)
		{
			jQuery('#'+target + '> .tick').css('display','block');
                        alert(data);
		});
Met un echo "test"; à la fin de ton fichier php, pour qu'il s'affiche dans l'alert js.

Si après ça ce n'est pas résolu, une fois j'ai eu ce genre de soucis, et j'ai mis un sleep(0.5); en bas de mon code php et ça a fonctionné.
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2011, 11h15   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
J'ai créer un fichier de log dans la partie PHP, et effectivement toutes les requêtes n'y sont pas.

Je penche comme toi pour un problème de délais entre 2 requêtes.

La première méthode que tu proposes me semble être "propre", je vais tenter.

En extrême recours j'essaierai le sleep, mais est-ce que ce n'est pas un peu barbare ?

Ceci dit ça me parait étonnant de ne pas pouvoir réaliser 3 requêtes (qui est véritablement en cause: Ajax ? SQL? PHP?) dans la même seconde. Sachant qu'il n'y a que ça sur le serveur !

Qu'en pensez-vous ?
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 19h40   #4
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Attention à l'écriture du bloc jQuery.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
	jQuery.noConflict();
 
	jQuery(function($){
		$('div.thumb').click(function(){	
			var target =  this.id;
 
			$.get('ajax_update3.php', {"idpourphp":target}, function(data){
				// data ?
 
				$('#'+target + '> .tick').css('display','block');
			});
		});
	});
</script>
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2011, 23h49   #5
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Citation:
Envoyé par beejeridou Voir le message
Peut etre que les requetes se superposent trop vite... as tu essayé d'utiliser un callback pour la methode jQuery.get(), comme ça ton display block, s'effectuera uniquement quand l'ajax se sera bien déroulé?

Code :
1
2
3
4
5
6
 
                jQuery.get('ajax_update3.php', function(data)
		{
			jQuery('#'+target + '> .tick').css('display','block');
                        alert(data);
		});
Met un echo "test"; à la fin de ton fichier php, pour qu'il s'affiche dans l'alert js.

Si après ça ce n'est pas résolu, une fois j'ai eu ce genre de soucis, et j'ai mis un sleep(0.5); en bas de mon code php et ça a fonctionné.

"alert(data)" ne s'execute pas ?!!!

en fait quand je rajoute function(data)... l'appel du php n'est plus effectué !
Une idée du pourquoi ?

Merci
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 00h15   #6
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
J'avance tout doucement :

Cela fonctionne avec firefox mais pas avec Chrome et dans la console de ce dernier j'ai un warning que je ne comprends pas :

"GET http://192.168.0.224/BD/web/ajax_upd...idpourphp=1111 undefined (undefined)"
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 01h13   #7
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Donc sa fonctionne au moins avec Firfox et IE.

Par contre une nouvelle subtilité qui m'échappe totalement :

si dans mon HTML je remplace (modification de la balise "target"):

Code :
1
2
3
4
5
6
7
8
<div id="1680" class="thumb">
		<a href="../C/Charly/Charly - T02 - L'Ile perdue.cbr" target=\"_blank\"> 
			<img class="ombrage3" src="../C/Charly/Charly - T02 - L'Ile perdue.jpg" width="200" height="260" >
		</a>
		<br>
		<span class="titre_album">2 - L'Ile perdue</span>
		<div class="tick" style="display: block "><img src="./images/principal/tick1.png" ></div>
		</div>
par :
Code :
1
2
3
4
5
6
7
8
9
 
<div id="1680" class="thumb">
		<a href="../C/Charly/Charly - T02 - L'Ile perdue.cbr" target=\"_self\"> 
			<img class="ombrage3" src="../C/Charly/Charly - T02 - L'Ile perdue.jpg" width="200" height="260" >
		</a>
		<br>
		<span class="titre_album">2 - L'Ile perdue</span>
		<div class="tick" style="display: block "><img src="./images/principal/tick1.png" ></div>
		</div>
cela ne fonctionne plus du tout !

Une idée ?
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 02h33   #8
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
hummm.... le chemin vers ajax_update3.php est-il bon?
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 09h44   #9
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonjour

Dans le code HTML : target=\"_self\" target="_self"
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 10h51   #10
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Citation:
Envoyé par danielhagnoul Voir le message
Bonjour

Dans le code HTML : target=\"_self\" target="_self"
tu as effectivement raison, je m'en étais rendu compte et avais réalisé la correction, mais cela ne change rien au problème.

Oui le chemin vers mon php est bon.

c'est le simple changement de target qui rend mon code infonctionnel.
j'avais également envisagé qu'il était innaproprié d'utiliser une variable appelée target (mot clé réservé?) je l'ai donc renommée, mais rien n'y fait.

Argh:!!!!

j'ai également lu quelque part que dans une version dite mobile de jquery, l'utilisation de _self rendait désactivait jquery en raison d'un bug de sécurité.
mais je ne pense pas être concerné ... si ?
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 00h07   #11
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Là je suis dans l'impasse !

En résumé :

si mon target=_blank ou le nom de ma fenetre -> ça fonctionne

si mon target =_self ou absent -> cela ne fonctionne plus
avec une erreur (apparaît uniquement dans les logs Safari) de type : ajax_update3.php (not found)

Help
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 00h53   #12
Membre éclairé
 
Avatar de beejeridou
 
Homme
Webmaster
Inscription : février 2007
Messages : 261
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : février 2007
Messages : 261
Points : 315
Points : 315
T'es sur que le chemin est bon avec le message d'erreur "not found" ? ^^
__________________
Et pourtant... Elle tourne.
http://www.artisan-developpeur.fr
beejeridou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 01h58   #13
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Citation:
Envoyé par beejeridou Voir le message
T'es sur que le chemin est bon avec le message d'erreur "not found" ? ^^
J'obtiens de message uniquement si dans mon code target="_self" (ou pas de target pour repecter W3C).

Donc je suis sûr que mon chemin est bon.
Dans le doute j'ai fait un test avec le chemin absolu = idem
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 09h43   #14
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonjour

Dans le but d'éclaircir la situation, du moins je l'espère !

S'il vous plaît, pourriez-vous réaliser un test avec le code suivant, exclusivement (placé entre <!-- votre code JS -->), et nous dire les valeurs obtenues dans la console de Chrome et dans celle de Firefox.

Faite un test sans l'attribut target et pour chaque valeur de l'attribut target.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script>
	jQuery.noConflict();
 
	jQuery(function($){
		$('div.thumb').click(function(){	
			var theID =  this.id;
 
			// Vérifier le header du fichier  ajax_update3.php
 
			$.get("ajax_update3.php", { "idpourphp": theID }, function(data, textStatus, jqXHR) {
				console.log(data, textStatus, jqXHR);
 
				// succès de la transaction, traité le contenu de data
 
			}).error(function(jqXHR, textStatus, errorThrown){
				console.log(jqXHR, textStatus, errorThrown);
 
				// échec de la transaction, gèrer la catastrophe
 
			});
		});
	});
</script>
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 11h38   #15
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
Alors tout d'abord je vous remercie pour le temps que vous consacrez à mon problème.

J'ai donc réalisé les tests que tu m'as demandé :

avec target="_self" ou pas de target :

CHROME :
Code :
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
44
45
abort: function (a){a=a||"abort",p&&p.abort(a),w(0,a);return this}
always: function (){return b.done.apply(b,arguments).fail.apply(this,arguments)}
complete: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
done: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
error: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
fail: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
getAllResponseHeaders: function (){return s===2?n:null}
getResponseHeader: function (a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c}
isRejected: function (){return!!c||!!b}
isResolved: function (){return!!c||!!b}
overrideMimeType: function (a){s||(d.mimeType=a);return this}
pipe: function (a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()}
promise: function (a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}
readyState: 0
responseText: ""
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
status: 0
statusCode: function (a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this}
arguments: null
caller: null
length: 1
name: ""
prototype: Object
__proto__: function Empty() {}
apply: function apply() { [native code] }
arguments: null
bind: function bind() { [native code] }
call: function call() { [native code] }
caller: null
constructor: function Function() { [native code] }
arguments: null
caller: null
length: 1
name: "Function"
prototype: function Empty() {}
__proto__: function Empty() {}
length: 0
name: "Empty"
toString: function toString() { [native code] }
__proto__: Object
statusText: "error"
success: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
then: function (a,c){b.done(a).fail(c);return this}
__proto__: Object
FIREFOX :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
GET http://192.168.0.224/BD/web/ajax_update3.php?idpourphp=2179
	
			
jquery....min.js (ligne 18)
ParamètresEn-têtesRéponse
Réponse
Requête
Host	192.168.0.224
User-Agent	Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 FirePHP/0.5
Accept	*/*
Accept-Language	fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding	gzip, deflate
Accept-Charset	ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive	115
Connection	keep-alive
X-Requested-With	XMLHttpRequest
Referer	http://192.168.0.224/BD/web/collectiond.php?collection=Filles%20De%20Soleil%20(Les)%20-%20T1%20a%205
x-insight	activate
Object { readyState=0, status=0, statusText="error"} error

Avec Target="_blank" ou n'importe quoi d'autre (sauf _empty

CHROME :
Code :
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
1 success 
Object
abort: function (a){a=a||"abort",p&&p.abort(a),w(0,a);return this}
always: function (){return b.done.apply(b,arguments).fail.apply(this,arguments)}
complete: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
done: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
error: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
fail: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
getAllResponseHeaders: function (){return s===2?n:null}
getResponseHeader: function (a){var c;if(s===2){if(!o){o={};while(c=bI.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c}
isRejected: function (){return!!c||!!b}
isResolved: function (){return!!c||!!b}
overrideMimeType: function (a){s||(d.mimeType=a);return this}
pipe: function (a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()}
promise: function (a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}
readyState: 4
responseText: "1"
setRequestHeader: function (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this}
status: 200
statusCode: function (a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this}
arguments: null
caller: null
length: 1
name: ""
prototype: Object
__proto__: function Empty() {}
apply: function apply() { [native code] }
arguments: null
bind: function bind() { [native code] }
call: function call() { [native code] }
caller: null
constructor: function Function() { [native code] }
length: 0
name: "Empty"
toString: function toString() { [native code] }
__proto__: Object
statusText: "success"
success: function (){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this}
then: function (a,c){b.done(a).fail(c);return this}
__proto__: Object
FIREFOX :
Code :
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
 
 
 
getchannel
	[xpconnect wrapped nsIChannel] { name="http://192.168.0.224/BD...ate3.php?idpourphp=2178", status=0, more...}
 
mozBackgroundRequest
	false
 
mozResponseArrayBuffer
	ArrayBuffer {}
 
multipart
	false
 
onabort
	null
 
onerror
	null
 
onload
	null
 
onloadstart
	null
 
onprogress
	null
 
onreadystatechange
	[xpconnect wrapped nsIDOMEventListener] {}
 
onuploadprogress
	null
 
readyState
	4
 
responseText
	"1"
 
responseXML
	null
 
status
	200
 
getstatusText
	"OK"
 
getupload
	XMLHttpRequestUpload { constructor=XMLHttpRequestUpload}
 
withCredentials
	false
 
constructor
	[object XMLHttpRequest]
 
abort
	abort()
 
addEventListener
	addEventListener()
 
dispatchEvent
	dispatchEvent()
 
getAllResponseHeaders
	getAllResponseHeaders()
 
getInterface
	getInterface()
 
getResponseHeader
	getResponseHeader()
 
open
	open()
 
overrideMimeType
	overrideMimeType()
 
removeEventListener
	removeEventListener()
 
send
	send()
 
sendAsBinary
	sendAsBinary()
 
setRequestHeader
	setRequestHeader()
 
__proto__
	[xpconnect wrapped native prototype] {}
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 22h28   #16
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

En résumé :

Avec target="_self" ou pas de target

Code :
1
2
3
4
5
6
readyState: 0
responseText: ""
status: 0
length: 1
name: "Empty"
statusText: "error"
Code :
1
2
GET http://192.168.0.224/BD/web/ajax_update3.php?idpourphp=2179
Object { readyState=0, status=0, statusText="error"} error
Avec target="_blank"

Code :
1
2
3
4
5
6
readyState: 4
responseText: "1"
status: 200
length: 0
name: "Empty"
statusText: "success"
Code :
1
2
3
4
5
getchannel "http://192.168.0.224/BD...ate3.php?idpourphp=2178", status=0, more...}	
readyState 4
responseText "1"
status 200
getstatusText "OK"
On a donc un échec lorsque "idpourphp" vaut 2179 et un succès pour 2178. Cette valeur est l'ID de la division ayant la classe "thumb". Et cet ID n'est pas identique dans les deux tests !

Nota bene : un ID doit être unique et il doit toujours commencer par un caractère alphabétique.
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 23h31   #17
Invité de passage
 
Inscription : septembre 2007
Messages : 16
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 16
Points : 0
Points : 0
alors excuse moi c'est un total manque de rigueur de ma part lorsque j'ai réalisé le test.

Pour répondre à ton nb : l'ID est assurément unique il est en fait issu de la clé primaire de ma BDD (c'est un autoincrement).
Il ne commence cependant pas par une lettre, c'est vrai.

tu trouveras ci dessous les résultats de 2 tests parfaitement équivalents:


Avec target="_self" ou pas de target

Code :
1
2
3
4
 
GET http://192.168.0.224/BD/web/ajax_update3.php?idpourphp=5682
idpourphp	5682
Object { readyState=0, status=0, statusText="error"} error
Avec target="_blank"

Code :
1
2
3
 
GET http://192.168.0.224/BD/web/ajax_update3.php?idpourphp=5682  200 OK  109ms	
1 success Object { readyState=4, responseText="1", status=200, statusText="success"}
spray6969 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 01h35   #18
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Une seule conclusion s'impose, c'est le mystère du "target" !

Si c'est la seule différence entre le succès et l'échec, je n'ai pas la solution.
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h06.


 
 
 
 
Partenaires

Hébergement Web