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

Discussion :

[ASP.NET MVC] Gérer son propre AJAX [Débutant]


Sujet :

ASP.NET Ajax

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut [ASP.NET MVC] Gérer son propre AJAX
    Bonjour à tous,

    Veuillez m'excuser pour ce jeu de mots involontaire. J'ai découvert récemment ASP.NET MVC et ai suivi un cours sur un site qui (je pense) présentait bien cette technologie. Je souhaite gérer entièrement tout mon code HTML, et donc JavaScript. Cependant, je me suis heurté à un soucis : ce cours présentait AJAX grâce à la bibliothèque jQuery. Alors voilà : existe-t-il un moyen de gérer soi-même son AJAX avec des fonctions de base contenues dans ASP.NET ? J'ai vu que PHP savait le faire sans soucis sans bibliothèque. En fait, j'aimerais pouvoir faire des choses basiques telles qu'incrémenter un nombre sans que la page se rafraîchisse, grâce à l'objet XMLHttpRequest. Je suis sûr qu'après, une fois qu'on connaît les bases, ce n'est pas compliqué d'aller plus loin.

    Quelqu'un pourrait peut-être m'éclairer ? Ou n'ai-je peut-être pas été clair ?

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    Tu as été clair, mais pourquoi ne souhaites-tu pas utiliser JQuery et préférer réinventer la roue?
    MVC.Net, Razor et Jquery te permettront de gérer facilement et parfaitement ta page (HTML et JS).


    Seb

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    C'est par pure satisfaction de maîtriser entièrement mon code JavaScript, en fait. Et je n'exploiterai pas JavaScript au point d'en faire des jeux ou de belles animations, le CSS suffisant amplement à mon goût. Je ne pense pas que créer un petit tchat soit infaisable sans jQuery, par exemple ! On génère quelques divisions grâce à JavaScript chaque fois qu'on reçoit un message et le tour est joué… Il n'existe vraiment pas de fonction AJAX intégrée à ASP.NET par défaut ?

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : novembre 2005
    Messages : 165
    Points : 241
    Points
    241
    Par défaut
    Sûrement par les Helpers Razors.

    En passant, tu peux écrire ton propre Helper et donc y mettre le code que tu veux.


    Seb

  5. #5
    Membre expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    1 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 1 750
    Points : 3 561
    Points
    3 561
    Par défaut
    Citation Envoyé par Tigrounet Voir le message
    C'est par pure satisfaction de maîtriser entièrement mon code JavaScript, en fait. Et je n'exploiterai pas JavaScript au point d'en faire des jeux ou de belles animations, le CSS suffisant amplement à mon goût. Je ne pense pas que créer un petit tchat soit infaisable sans jQuery, par exemple ! On génère quelques divisions grâce à JavaScript chaque fois qu'on reçoit un message et le tour est joué… Il n'existe vraiment pas de fonction AJAX intégrée à ASP.NET par défaut ?
    En faite l'AJAX n'est pas lié à ASP MVC (à part pour l'appel des méthodes), c'est du Javascript donc c'est plus lié au support des normes JS par ton navigateur et par défaut tous les navigateurs récent le supporte, donc rien t'empêche de faire xmlthttprequest à la dure.

    Sinon côté MVC pour y répondre tu as aux choix faire des méthodes qui pourront directement être appelé par ton AJAX ou utiliser MVC Web API.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    D'accord ! Merci beaucoup pour vos réponses.

    En fait, c'est exactement ce que j'ai suivi pour ASP.NET MVC et ce cours présentait AJAX avec jQuery, d'où le fait que cette partie ne m'a pas branché. Mais si je comprends bien, AJAX fait une requête toute bête vers une page en utilisant le protocole HTTP(S) classique, sauf que le serveur n'aura juste qu'à répondre en formatant les données en XML ou en JSON ?

  7. #7
    Membre expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    1 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 1 750
    Points : 3 561
    Points
    3 561
    Par défaut
    Citation Envoyé par Tigrounet Voir le message
    D'accord ! Merci beaucoup pour vos réponses.

    En fait, c'est exactement ce que j'ai suivi pour ASP.NET MVC et ce cours présentait AJAX avec jQuery, d'où le fait que cette partie ne m'a pas branché. Mais si je comprends bien, AJAX fait une requête toute bête vers une page en utilisant le protocole HTTP(S) classique, sauf que le serveur n'aura juste qu'à répondre en formatant les données en XML ou en JSON ?
    Oui c'est à peu près ça et Jquery fait en faite un appel XmlHttpRequest, mais tu as moins de code à écrire et le code est le même peu importe le navigateur en passant par sa bibliothèque.

    Tu as des exemples ici http://nico-pyright.developpez.com/t...netajaxmethod/
    Normalement c'est la même chose au niveau des appels avec ASP MVC

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Merci beaucoup, je pense que c'est exactement ce que je voulais comme tutoriel !!! Le JavaScript me semble un peu dépassé (ou alors c'est du pur IE ?) parce que les objets tels que XMLHttpRequest sont maintenant standards, il me semble, et ce n'est plus de l'ActiveX. D'ailleurs, ce que je souhaitais faire c'est exactement la même chose que ce que l'on voit en PHP, mais en ASP.NET. Ici, pas la moindre bibliothèque.

    Merci d'avoir pris le temps de m'avoir lu. Néanmoins, si vous connaissez quelques fonctions similaires prévues notamment pour l'AJAX en ASP.NET, je suis évidemment preneur !

  9. #9
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    salut

    Citation Envoyé par Tigrounet Voir le message
    D'accord ! Merci beaucoup pour vos réponses.
    En fait, c'est exactement ce que j'ai suivi pour ASP.NET MVC et ce cours présentait AJAX avec jQuery, d'où le fait que cette partie ne m'a pas branché. Mais si je comprends bien, AJAX fait une requête toute bête vers une page en utilisant le protocole HTTP(S) classique, sauf que le serveur n'aura juste qu'à répondre en formatant les données en XML ou en JSON ?
    si je comprend bien , c le manque de souplesse des helpers ajax qui t’embête .
    si c le cas, tu pourrait essaye de faire des requêtes (post et get) ajax classic comme ca, no limit , avec ça tu peut tous faire .
    voici un exemple trouve sur internet.

    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
     
    $(function () {
        $('form').submit(function () {
            if ($(this).valid()) {
                $.ajax({
                    url: this.action,
                    type: this.method,
                    data: $(this).serialize(),
                    success: function (result) {
                        $('#result').html(result);
                    }
                });
            }
            return false;
        });
    });

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    C'est surtout le plaisir d'avoir conçu mon propre script JavaScript, en fait. Je suis sûr que les bibliothèques telles que jQuery sont on ne peut plus souples.

    Une dernière chose : j'ai bien compris qu'AJAX permettait d'actualiser que partiellement une page à la demande du navigateur. Par contre, comment fait-on pour rester "à l'écoute" du serveur ? Par exemple, pour un tchat, il est inadmissible de faire une vérification toutes les 5 secondes pour vérifier s'il existe des nouveaux messages. Quelle est la fonction JavaScript qui permet de se connecter au serveur ? Peut-être que je me trompe ?

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Je viens de me renseigner un peu, et apparemment, le principe est d'initier une connexion avec JavaScript (au besoin sans délai d'expiration de la requête) et le serveur ne répondra que lorsqu'il y en aura besoin. Quand le serveur aura répondu, la connexion se termine et le client redemande une connexion, attend une réponse, et ainsi de suite. Ce serait du push HTTP.

    Est-ce bien cela ou je me trompe ? Peut-être que cette méthode n'est plus utilisée ou n'est pas à utiliser ?

  12. #12
    Membre expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2010
    Messages
    1 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : novembre 2010
    Messages : 1 750
    Points : 3 561
    Points
    3 561
    Par défaut
    Citation Envoyé par Tigrounet Voir le message
    Je viens de me renseigner un peu, et apparemment, le principe est d'initier une connexion avec JavaScript (au besoin sans délai d'expiration de la requête) et le serveur ne répondra que lorsqu'il y en aura besoin. Quand le serveur aura répondu, la connexion se termine et le client redemande une connexion, attend une réponse, et ainsi de suite. Ce serait du push HTTP.

    Est-ce bien cela ou je me trompe ? Peut-être que cette méthode n'est plus utilisée ou n'est pas à utiliser ?
    SignalR te permet de faire ça: http://signalr.net/

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : octobre 2014
    Messages : 53
    Points : 29
    Points
    29
    Par défaut C'est possible !
    Bonjour à tous,

    Je reviens vers vous parce que j'ai trouvé la solution. Il est bel et bien possible de gérer soi-même son AJAX. En fait, il suffira de créer son JavaScript, et il appellera une page qui se comportera comme une page classique, à laquelle on fait une requête post ou get. Une fois la réponse obtenue, il ne reste plus qu'à effectuer les modifications sur la page du client au besoin grâce à son JavaScript.

    Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. AJax asp.net mvc 3
    Par omarito15 dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 05/05/2011, 15h59
  2. ASP.NET MVC Preview 4
    Par hollywood dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 22/07/2008, 11h57
  3. Framework ASP.NET MVC
    Par superbobo dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 02/07/2008, 16h11
  4. ASP.NET MVC Preview 2
    Par cereal59 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 04/04/2008, 16h41
  5. [C#/ASP.NET]Jouer un son dans une application web
    Par byphantom dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/06/2007, 15h28

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