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

jQuery Discussion :

Erreur : $.ajax is not a function


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 107
    Points : 52
    Points
    52
    Par défaut Erreur : $.ajax is not a function
    Bonjour

    A l'execution d'un programme avec node js, la console me renvoie cette erreur :

    $.ajax(settings).done(function (response) {
    ^

    TypeError: $.ajax is not a function
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
    at internal/main/run_main_module.js:17:11
    [Finished in 0.2s]
    Voici le code en question, je viens faire une requête GET sur les données d'un web service se trouvant à l'URL indiquée :

    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
    //on importe jQuery
    var  $ = require('jQuery');
     
    // Définition des paramètres de la requête HTTP
    var settings = {
      "async": true,
      "crossDomain": true,
      "url": "https://www.kizeoforms.com/rest/v3/forms/",
      "method": "GET",
      "headers": {
        "content-type": "application/json",
        "Authorization": "perma_restv3_MTH_024b61f4bf72fd4c46d7633be7e21e083d8b660f",
        "cache-control": "no-cache",
      }
    }
     
    // Envoi de la requête et affichage en console de la réponse
    $.ajax(settings).done(function (response) {
      console.log(response);
    });
    Après quelques recherches j'ai trouvé ce topic où il est question d'installer une version plus complète de jQuery mais j'ai pourtant bien la version 3.4.1 de jQuery dans mon dossier node_modules,


  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2019
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2019
    Messages : 15
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    jQuery n'est pas conçu pour node et refusera de se lancer si un window n'est pas disponible.
    Sous node, le workaround consiste à utiliser jsdom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    global.window = new (require("jsdom")).JSDOM().window;
    et éventuellement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    global.document = window.document;
    Pour automatiquement rendre disponible toutes les classes natives dans le global (non conseillé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Object.getOwnPropertyNames(window).forEach(key => {
      let k = key[0];
      if (k !== "_" && !global[key] && k === k.toUpperCase()) {
        global[key] = window[key]
      }
    });

Discussions similaires

  1. Erreur dispatchEvent is not a function
    Par lobarbad dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/11/2018, 19h26
  2. Erreur : X is not a function (evaluating 'Y(n)')
    Par Anonyme1784 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/06/2015, 22h47
  3. [AJAX] erreur : load is not a function
    Par Agriesean dans le forum AJAX
    Réponses: 4
    Dernier message: 11/11/2011, 12h02
  4. $.ajax is not a function
    Par dharth dans le forum jQuery
    Réponses: 1
    Dernier message: 24/10/2011, 10h58
  5. Appel Ajax avec jQuery : $.ajax is not a function
    Par Grulf dans le forum jQuery
    Réponses: 2
    Dernier message: 18/02/2011, 11h47

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