Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 19 sur 19
  1. #1
    Inscrit
    Inscrit en
    septembre 2005
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 306
    Points : 106
    Points
    106

    Par défaut Réception des données avec POST (ne fonctionne pas)

    Bonjour,

    J’utilise ce petit script pour envoyer des données à ma base mysql.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <script type="text/javascript" charset="ISO-8859-1">
    img = document.getElementById("resultat");
    if(window.XMLHttpRequest) 
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) 
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    return(false);
    nocache = Math.random();
    var data1 = 'exemple_15000_caracteres';
    xhr_object.open('POST', 'teste_load.php?data1=' + data1, true);
    xhr_object.send(null);
    res = ""+xhr_object.responseText;
    img.innerHTML += res;
    img = "";
    </script>
    Quand j’utilise GET cela fonctionne avec des données minime, mais quand les données sont un peut lourd, j’ai une erreur
    Request-URI Too Large

    Donc j’essaye d’utilisé POST a la place de GET, le problème est que je ne reçois pas les données sur ma page PHP.

    Avez-vous une idée SVP.

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    décembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2006
    Messages : 114
    Points : 99
    Points
    99

    Par défaut

    Lorsque tu envoies des données par POST, tu dois donner un entête.

    Code :
    1
    2
    3
    xmlhttp.open("POST","ajax_test.asp",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("fname=Henry&lname=Ford");

  3. #3
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 018
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 018
    Points : 80 709
    Points
    80 709

    Par défaut

    Surtout, comme l'a corrigé Michaeljackfan mais sans le détailler, les paramètres doivent être passés via la méthode send() et non dans l'URL (sinon, ça sert à rien de faire du POST )
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Inscrit
    Inscrit en
    septembre 2005
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 306
    Points : 106
    Points
    106

    Par défaut

    Merci pour vos réponses

    Mais impossible de déclarer xmlhttp.

    Car j’ai une erreur xmlhttp is not defined

  5. #5
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 018
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 018
    Points : 80 709
    Points
    80 709

    Par défaut

    Regarde peut-être ton code...
    Toi tu as xhr_object...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Modérateur
    Avatar de Golgotha
    Homme Profil pro cédric
    Full-stack Web Developer
    Inscrit en
    août 2007
    Messages
    1 179
    Détails du profil
    Informations personnelles :
    Nom : Homme cédric
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2007
    Messages : 1 179
    Points : 2 480
    Points
    2 480

    Par défaut

    Mais pourquoi faire du XMLHttpRequest à la main en 2012

    jQuery
    modérateur webmasters - développements web & php
    faq jQuery - règles du forum - faqs web


    mon site web : exile-reborn : un mmorpg gratuit en ligne.

  7. #7
    Inscrit
    Inscrit en
    septembre 2005
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 306
    Points : 106
    Points
    106

    Par défaut

    Merci pour la suggestion, maintenant je dois comprendre donc je fais des recherches (c’est en cours).

    Mais j’ai une question:
    Pour quoi choisir du jQuery ?

  8. #8
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 018
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 018
    Points : 80 709
    Points
    80 709

    Par défaut

    Citation Envoyé par Golgotha
    Mais pourquoi faire du XMLHttpRequest à la main en 2012
    Ben... parce qu'en 2012, avec IE6 à moins de 0.5% de parts de marché, AJAX c'est aussi simple que
    Code :
    var xhr = new XMLHttpRequest();
    et qu'utiliser jQuery uniquement pour se simplifier cette syntaxe, c'est aberrant !

    Ensuite, il peut exister d'autres raisons d'utiliser jQuery et donc de s'en servir pour traiter AJAX, mais traiter AJAX n'est pas une raison suffisante pour utiliser un framework.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Modérateur
    Avatar de Golgotha
    Homme Profil pro cédric
    Full-stack Web Developer
    Inscrit en
    août 2007
    Messages
    1 179
    Détails du profil
    Informations personnelles :
    Nom : Homme cédric
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2007
    Messages : 1 179
    Points : 2 480
    Points
    2 480

    Par défaut

    Personnellement, même un document.getElementById justifie pleinement jQuery.

    Enfin bref. Illustration.

    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
    <script type="text/javascript">
    function exemple()
    {
    obj = document.getElementById("resultat");
     
    obj.innerHTML = "Avant la requete : OK<br />";
    if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject) // IE
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
    else
    return(false);
     
    xhr_object.open("GET", "/misc/ajax_test.php", false);
    xhr_object.send(null);
     
    obj.innerHTML += "Apres la requete : OK<br />";
     
    res = "Contenu du fichier : "+ xhr_object.responseText;
    obj.innerHTML += res;
     
    }
    </script>
    <a href="javascript:exemple()"
    ou :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <script type="text/javascript">
    function exemple()
    {
     
    var obj = $("#resultat");
     
    obj.html("Avant la requete : OK <br/>");
     
    $.get("/misc/ajax_test.php", function(data){
     
    	obj.html("Apres la requete : OK <br />");
     
    	res = "Contenu du fichier : " + data;
    	obj.append(res);
    });
     
     
    }
    </script>
    <a href="javascript:exemple()">Hop, on essaye !</a>
    <div id="resultat"></div>
    c'est tout vu
    modérateur webmasters - développements web & php
    faq jQuery - règles du forum - faqs web


    mon site web : exile-reborn : un mmorpg gratuit en ligne.

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro Andry Aimé
    Inscrit en
    septembre 2007
    Messages
    7 092
    Détails du profil
    Informations personnelles :
    Nom : Homme Andry Aimé
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 092
    Points : 11 102
    Points
    11 102

    Par défaut

    Citation Envoyé par Golgotha Voir le message
    Personnellement, même un document.getElementById justifie pleinement jQuery.
    Une fonction javascript est composé de plusieurs instructions, mais l'utilisation de jQuery pour quelques fonctionnalités basique est abusif.

  11. #11
    Modérateur
    Avatar de Golgotha
    Homme Profil pro cédric
    Full-stack Web Developer
    Inscrit en
    août 2007
    Messages
    1 179
    Détails du profil
    Informations personnelles :
    Nom : Homme cédric
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2007
    Messages : 1 179
    Points : 2 480
    Points
    2 480

    Par défaut

    Citation Envoyé par andry.aime Voir le message
    Une fonction javascript est composé de plusieurs instructions, mais l'utilisation de jQuery pour quelques fonctionnalités basique est abusif.
    Je ne comprends pas pourquoi on utilise le mot abusif.. en quoi est ce abusif de vouloir écrire d'un certaine façon son code plutôt qu'une autre.

    Nombre de langage s'appuient sur des bibliothèques en C, donc on pourrait dire pareil finalement, quand on fait un petit programme en python, il est abusif d'utiliser python, autant écrire en C. Je vois plus jQuery comme un langage de plus haut niveau (même si ce n'est pas le cas) qui me permet d'écrire de façon plus claire et plus simplement.

    Si l'abus viens de l'import de la lib, ça ne me parait pas assez peser dans la balance, à l'heure ou en visionne une video en HD en temps réèl sur YouTube.
    modérateur webmasters - développements web & php
    faq jQuery - règles du forum - faqs web


    mon site web : exile-reborn : un mmorpg gratuit en ligne.

  12. #12
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro Andry Aimé
    Inscrit en
    septembre 2007
    Messages
    7 092
    Détails du profil
    Informations personnelles :
    Nom : Homme Andry Aimé
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 092
    Points : 11 102
    Points
    11 102

    Par défaut

    Ben là tu compares un langage de haut niveau avec celui du bas niveau sur lequel on l'a développé. Ici c'est le même langage mais seulement natif vs framework.
    J'ai parlé d'abus parce que si ce n'est que pour l'utilisation de l'ajax et les instruction comme getElementById, c'est comme disait un membre
    C'est sortir un cuirassé pour tuer une mouche.

  13. #13
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 018
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 018
    Points : 80 709
    Points
    80 709

    Par défaut

    Si l'abus viens de l'import de la lib, ça ne me parait pas assez peser dans la balance
    Ca me rappelle mon ancien patron qui pour envoyer un mail d'une ligne, créait un document Word...
    Du coup, on recevait un message sans titre contenant uniquement un document "Document sans nom.doc" qui contenait juste une ligne de texte...

    Mais bon, on arrivait quand même à les lire...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  14. #14
    Modérateur
    Avatar de Golgotha
    Homme Profil pro cédric
    Full-stack Web Developer
    Inscrit en
    août 2007
    Messages
    1 179
    Détails du profil
    Informations personnelles :
    Nom : Homme cédric
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2007
    Messages : 1 179
    Points : 2 480
    Points
    2 480

    Par défaut

    Citation Envoyé par Bovino Voir le message
    Ca me rappelle mon ancien patron qui pour envoyer un mail d'une ligne, créait un document Word...
    Du coup, on recevait un message sans titre contenant uniquement un document "Document sans nom.doc" qui contenait juste une ligne de texte...

    Mais bon, on arrivait quand même à les lire...
    Maintenant je serais comment formuler mes mails
    modérateur webmasters - développements web & php
    faq jQuery - règles du forum - faqs web


    mon site web : exile-reborn : un mmorpg gratuit en ligne.

  15. #15
    Membre Expert
    Avatar de christele_r
    Femme Profil pro Christele Rubneau
    Responsable de service informatique
    Inscrit en
    novembre 2009
    Messages
    1 351
    Détails du profil
    Informations personnelles :
    Nom : Femme Christele Rubneau
    Âge : 66
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2009
    Messages : 1 351
    Points : 2 463
    Points
    2 463

    Par défaut

    Citation Envoyé par Golgotha Voir le message
    Mais pourquoi faire du XMLHttpRequest à la main en 2012
    jQuery
    Moi avec mon métier c'est encore a la main, ce n'est pas une question de 2012 ou pas, c'est une question que ces outils qui ralentissent la procédure
    (je parle des xxx.js) ont l'énorme avantage de simplifier la tâche des petits programmeurs.

    Bref chacun son choix ...

    A++
    Christele

  16. #16
    Modérateur
    Avatar de Golgotha
    Homme Profil pro cédric
    Full-stack Web Developer
    Inscrit en
    août 2007
    Messages
    1 179
    Détails du profil
    Informations personnelles :
    Nom : Homme cédric
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2007
    Messages : 1 179
    Points : 2 480
    Points
    2 480

    Par défaut

    Moi avec mon métier c'est encore a la main, ce n'est pas une question de 2012 ou pas, c'est une question que ces outils qui ralentissent la procédure
    (je parle des xxx.js) ont l'énorme avantage de simplifier la tâche des petits programmeurs.
    Je suis démasqué... j'utilise jQuery parce-que le javascript est bien trop complexe pour moi
    modérateur webmasters - développements web & php
    faq jQuery - règles du forum - faqs web


    mon site web : exile-reborn : un mmorpg gratuit en ligne.

  17. #17
    Inscrit
    Inscrit en
    septembre 2005
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 306
    Points : 106
    Points
    106

    Par défaut

    Voila j’ai fait mon petit script.
    J' l'affiche ici si des suggestions.

    Merci a vous tous

    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
     
     
    	function exemple()
    	{
    		if(sql_data_send.length > 6000)
    		{
    				jQuery.ajax(
    				{
    						type: 'POST',
    						url: 'teste_db.php',
    					data: 
    					{
    						sql_data_send: sql_data_send,
    						id_id: id1,
    						admin: true
    					}, 
    					success: function(data, textStatus, jqXHR) 
    					{
    						if (NB_produits == table.getCount())
    						{
    							document.getElementById('count_produit_send').innerHTML = 'Fini';
    						}
    						else
    						{
    							document.getElementById('count_produit_send').innerHTML = id1+' / '+data+'  N°: '+NB_produits+' / '+table.getCount();
    						}
    					},
    					error: function(jqXHR, textStatus, errorThrown) 
    					{
    					}
    				});
    		}
    		else
    		{
    		 img_now = document.getElementById("count_produit_send").innerHTML;
    		if(document.getElementById("count_produit_send").innerHTML == null){
    			img_now = "---";
    		}
    			img_now = "Avant la requete : OK<br />";
    			if(window.XMLHttpRequest) 
    			xhr_Sql = new XMLHttpRequest();
    			else if(window.ActiveXObject) 
    			xhr_Sql = new ActiveXObject("Microsoft.XMLHTTP");
    			else
    			return(false);
    			nocache = Math.random();
    			var img_url = obj.getCellText(10, row);
    			var img_cat1 = ID_cat1;
    			var img_cat2 = ID_cat2;
    			var img_cat3 = ID_cat3;
    			var id_id = id1;
    			var uri_img = 'teste_db.php?sql_data_send='+sql_data_send+'&id_id='+id_id;
    			xhr_Sql.open('GET', encodeURI(uri_img), false);
    			xhr_Sql.send(null);
    			sql_data_send = "";
    			res = ""+xhr_Sql.responseText;
    						if (NB_produits == table.getCount())
    						{
    							document.getElementById('count_produit_send').innerHTML = 'Fini';
    						}
    						else
    						{
    							document.getElementById('count_produit_send').innerHTML = id1+' / '+data+'  N°: '+NB_produits+' / '+table.getCount();
    						}
    			img_now.innerHTML += res;
    			img_now = "";
    		}
     	}

  18. #18
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro Andry Aimé
    Inscrit en
    septembre 2007
    Messages
    7 092
    Détails du profil
    Informations personnelles :
    Nom : Homme Andry Aimé
    Localisation : Ile Maurice

    Informations forums :
    Inscription : septembre 2007
    Messages : 7 092
    Points : 11 102
    Points
    11 102

    Par défaut

    Tu utilises déjà jQuery, pourquoi utiliser encore XMLHttpRequest?
    img_now.innerHTML += res;
    un objet string n'a pas d'attribut innerHTML.

    A+.

  19. #19
    Inscrit
    Inscrit en
    septembre 2005
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : septembre 2005
    Messages : 306
    Points : 106
    Points
    106

    Par défaut

    Salut,

    Le problème avec Jquery et que je ne reçois pas la réponse de la page php.
    Il me dit que tous les articles en été envoyer alors quand j’actualise la base de donné directement dans phpmyadmin, je vois que les articles arrive doucement.
    Alors qu’avec le vieux script je vois en temps réel (le prochain article n’est pas envoyer tant que précédent n’a pas été injecter).


    Code php :
    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
    if(isset($_POST['sql_data']))
    {
    $sql_data = $_POST['sql_data'];
    $mysqli = new mysqli(_DB_SERVER_, _DB_USER_, _DB_PASSWD_, _DB_NAME_);
    	if (get_magic_quotes_gpc()) $sql_data = stripslashes($sql_data);
    if (mysqli_connect_errno()) {
    	//printf("Connect failed: %s\n", mysqli_connect_error());
    	exit();
    }
    $mysqli->multi_query("SET NAMES UTF8");
    $query  = $sql_data;
    if ($mysqli->multi_query($query)) {
    	do {
    		if ($result = $mysqli->store_result()) {
    			while ($row = $result->fetch_row()) {
    				//printf("%s\n", $row[0]);
    			//	printf("%s\n", $row[0]);
    			//	echo "<div id='count_produit_send'></div>";
    			}
    			$result->free();
    		}
    		if ($mysqli->more_results()) {
    		//	printf("<div id=\'count_produit_send\'></div>\n");
    		}
    	} while ($mysqli->next_result());
    }
    $sql_data = "	envoyer ok";
    //	$mysqli->close();
    }

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •