Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 29/03/2007, 11h51   #1
Membre actif
 
Inscription : janvier 2006
Messages : 389
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2006
Messages : 389
Points : 152
Points : 152
Envoyer un message via MSN à dragonfly
Par défaut ASP + AJAX, comment récuperer les valeurs du xmlhttp.send ?

Bonjour,

Et oui encore moi, j'ai plein de probléme

Voici le piti dernier, je ne sais pas comment récupérer les valeurs contenus dans un xmlhttp.send en ASP.
J'utilise une fonction AJAX qui marche parfaitement mais dans l'ASP je séche.

Voila un bout de l'AJAX :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var done = "fonctionsel="+cour.fonctionsel.value+"&telFixe="+cour.telFixe.value+"&ligneDir="+cour.ligneDir.value;
	done = done+"&telPort="+cour.telPort.value+"&email="+cour.email.value;
	done = done+"&adresse="+cour.adresse.value+"&ville="+cour.ville.value+"&code="+cour.code.value;
	done = done+"&teldomi="+cour.teldomi.value+"&titre="+cour.titre.value+"&portperso="+cour.portperso.value;
	done = done+"&naissance="+cour.naissance.value+"&mail="+cour.mail.value;
	done = done+alaska;
	//alert (data);
...
xmlhttp.open('POST',url,true);
	xmlhttp.onreadystatechange=function() {
    	if (xmlhttp.readyState==4) {
        	if(document.getElementById){
          	document.getElementById(id).innerHTML = xmlhttp.responseText;
        	}
    	}
	}
	xmlhttp.setRequestHeader('Content_type','application/x-www-form-urlencoded');
	var data = done;
	xmlhttp.send(data);
Du coté de l'ASP j'ai testé :
Code :
1
2
 
Response.Write request.querystring("fonctionsel") ' Sans succés
Puis :
Code :
1
2
3
4
5
6
7
8
	Session.Contents.Remove("fonctionsel")
	Session.Contents.Remove("telFixe")
 
	dim Item
	For Each Item in Session.Contents
    	Response.Write Item & "=" & Session.Contents(Item) & "<BR>"
	Next
' Sans succés non plus
A aussi, l'alert de ma variable 'done' affiche corectement la variable 'done' sans erreur

Derniére précision même si cela aparrait dasn le code l'envoi des données en AJAX se fait en POST

MERCI
dragonfly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 12h16   #2
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Je fais pas trop d'AJAX, mais d'un point de vu logique tu utilises:
Code :
xmlhttp.open('POST',url,true);
Alors tu devrais essayer
Code :
Response.Write request.Form("fonctionsel")
Non?
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 13h49   #3
Membre actif
 
Inscription : janvier 2006
Messages : 389
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2006
Messages : 389
Points : 152
Points : 152
Envoyer un message via MSN à dragonfly
Salut,

Jai deja essayé, j'ai même essayé
D'habitude ca marche avec des request.querystring quand je passe les variables dans l'URL via AJAX mais la avec
Je vois pas comment faire, y'a un sujet sur le forum mais le gars a posté son probléme, une question lui a été posé, il a marqué résolu sans mettre la solution et j'ai essayé sa méthode et rien
dragonfly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 14h22   #4
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Il y a peut-être trop de données. Essaye d'en mettre moins pour voir. Il me semble qu'en ASP au de-là de 256 caractères dans l'URL ça ne marche plus. J'ai eu ce soucis et je suis passé par une methode POST au lieu de GET dans mon formulaire. Mais ce n'etait pas de l'AJAX.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 14h24   #5
Membre éprouvé
 
Avatar de malbaladejo
 
Inscription : avril 2002
Messages : 377
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2002
Messages : 377
Points : 477
Points : 477
Quel est le rapport entre ta variable url et done ?
Je suppose que url contient l'url que tu veux appeller et done les parametres que tu veux lui passer.

Dans l'exemple que tu nous donne il manque un morceau.
Je pense qu'il faut faire un truc comme ça :

Code :
1
2
3
4
var url = "/mapage.asp";
var done = "...";
xmlhttp.open('POST',url + "?" + done ,true);
...
malbaladejo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 14h43   #6
Membre actif
 
Inscription : janvier 2006
Messages : 389
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2006
Messages : 389
Points : 152
Points : 152
Envoyer un message via MSN à dragonfly
Re

Je suis quasi sur de dépasser allegrement les 256 octets.
malbaladejo => Je ne pense donc pas que ta solution est possible, à moins que lors d'un appel AJAX, l'URL utilisé n'est pas limité en caractéres.

Je crois que xmlhttp.send(data); est justement utilisé pour les longues chaines de caractéres ne pouvant être contenu dans une URL .

En PHP c'est unb truc du genre $post['... pour récupérer la valeur du xmlhttp.send(data); mais en ASP je ne sais pas du tout.

Je vais quand même essayer ta version malbaladejo (ce que j'utilise toujours en fait mais pas avec autant de caractére) en gardant la methode POST


MERCI
dragonfly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 14h57   #7
Membre actif
 
Inscription : janvier 2006
Messages : 389
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2006
Messages : 389
Points : 152
Points : 152
Envoyer un message via MSN à dragonfly
YOuhou, ca marche

Je ne savais pas que la methode POST n'était pas limité à 256 caractéres du coup en appliquant la bonne vieille méthode, celle de malbaladejo et du coup ca marche bien correctement.

MERCI les gars

Je met resolu mais... je serais curieux de savoir comment faire avec(Question de culture générale)
dragonfly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 15h14   #8
Membre éprouvé
 
Avatar de malbaladejo
 
Inscription : avril 2002
Messages : 377
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : avril 2002
Messages : 377
Points : 477
Points : 477
Je fais de l'ajax régulièrement mais j'utilise script.aculo.us.
Ca rend les appels ajax plus simple a mettre en place mais ca masque le fonctionnement réel.
Je n'ai donc pas de réponse à te donner.
malbaladejo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 15h37   #9
Membre actif
 
Inscription : janvier 2006
Messages : 389
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : janvier 2006
Messages : 389
Points : 152
Points : 152
Envoyer un message via MSN à dragonfly
Ark, je préfére tout faire moi même (c'est long mais j'en tire satisfaction ).

Je vais quand même essayer de trouver et si je trouve je compléte ce topic

MERCI
Bye
dragonfly est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h35.


 
 
 
 
Partenaires

Hébergement Web