IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Ajax Discussion :

un XMLHttpRequest en POST est systematique en GET dans le page_load d'une page aspx


Sujet :

ASP.NET Ajax

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut un XMLHttpRequest en POST est systematique en GET dans le page_load d'une page aspx
    Bonjour,

    Dans une application ASP.Net réalisé avec Visual Studio, j'essaye de réaliser une demande en post . (post car il peut éventuellement avoir beaucoup de données transmise si les utilisateurs se lâchent.)

    J'ai fait toute sorte d'essai, mais dans le Page_Load de mon code en c# j'ai toujours le "Request.HttpMethode" à "GET", et je ne récupère pas les paramètres.

    En partant du code simplifié suivant, pourriez vous m'aider ?

    En javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        var http = new XMLHttpRequest();
        http.open("POST", url, true);
        http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        http.send('groupe=aaaaa');
    sur ma page ASPX en c#.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    protected void Page_Load(object sender, EventArgs e)
    {
              if (IsPostBack == false)
                {
                    if (Request.QueryString["groupe"] != null) // (Request.Form["groupe"] != null)
                    {
                        string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("ok avec querystring (GET)");
                        Response.Write(json);
                        Response.End();
                        return;
                    }
     
                    if (Request.Form["groupe"] != null) // (Request.Form["groupe"] != null)
                    {
                        string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("ok avec querystring (POST)");
                        Response.Write(json);
                        Response.End();
                        return;
                    }
     
                    if (Request["groupe"] != null) // (Request.Form["groupe"] != null)
                    {
                        string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize("ok avec querystring (?)");
                        Response.Write(json);
                        Response.End();
                        return;
                    }
                        // J'ai beau m'évertuer pour essayer d'avoir un "POST" "Request.Httpmethode" me renvoie "GET",
                        // je ne récupère pas mes paramètres et je passe toujours dans ce code.
                        string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Request.HTTPMethode);
                        Response.Write(json);
                        Response.End();
                        return;
                }
    }

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    J'ai cree un projet Web Forms par defaut dans Visual Studio 2017. J'ai rajoute ton code C# dans About.aspx.cs, et ton code JavaScript dans Default.aspx.
    Dans le javascript, j'utilise l'url "/About", et j'obtiens "ok avec querystring (POST)" en resultat...

    Tu as du rater quelque chose quelque part ! Ou alors tu ne nous dis pas tout.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Merci pour la réponse.

    Le code que j'ai mis dans mon message initial et mon code réel que j'ai seulement expurgé de toutes références propres à l'application. (Get ou Post aux choix suivant un paramètre, nom de variables etc.)

    J'avoue ne pas comprendre moi non plus. Je pensais "éventuellement" à un paramètre à ajouter dans l'application ou à un include JavaScript à ajouter dans ma page ASPX. Cela me paraisse "un peux" capillotracté, mais je n'ai vraiment plus aucune idée.

    Au pire, je découperais les données en petits paquets, que je transmettrais un après l'autre. Mais franchement cela ne me plait pas du tous.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Tu peux essayer de reprendre a zero, avec le script que tu as poste ici. Assure-toi que cet exemple basique fonctionne. Ensuite rajoute de la complexite au fur et a mesure, ca devrait t'aider a trouver l'origine du probleme.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    malheureusement, c'est déjà ce que j'ai fait.

    Je reprendrais lundi. Après une coupure de deux jours, j'y verrai, peut-être, plus claire.

    En attendant bon dimanche et merci pour la peine que vous avez pris à m'aider.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2011
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 29
    Points : 35
    Points
    35
    Par défaut
    merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/02/2015, 08h27
  2. Réponses: 2
    Dernier message: 09/01/2015, 12h28
  3. Est-il possible de retourner la source d'une page dans une variable ?
    Par sachav dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/12/2007, 18h02
  4. Est-il possible de récupérer l'encodage d'une page ?
    Par Christophe Charron dans le forum Langage
    Réponses: 2
    Dernier message: 28/03/2007, 22h37
  5. [Delphi 6] Comment détecter si un poste est connecté ?
    Par Lung dans le forum Web & réseau
    Réponses: 81
    Dernier message: 22/04/2005, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo