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

JavaScript Discussion :

SyntaxError: unexpected token: '('


Sujet :

JavaScript

  1. #21
    Membre éclairé
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 335
    Points : 715
    Points
    715
    Par défaut
    Bonjour,
    wilson120, un point positif c'est qu'il y a deux améliorations dans votre démarche :
    - Vous regardez les numéros de ligne.
    - Vous ne remaniez pas au hasard la ligne générant l'erreur.

    Concernant cette nouvelle erreur, je n'ai que ces deux idées :
    - Cette ligne <script src="https://js.stripe.com/v3/"></script> doit être placée avant la balise "script" contenant votre code.
    - Etre connecté à Internet au moment du test.

    Sinon, j'ai repris le code et fait une petite adaptation :
    Code HTML : 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
    <form id="payment_form" method="POST" action="index.php">
    	<div id="card-element"></div>
    	<input type="submit">
    </form>
    <script src="https://js.stripe.com/v3/"></script>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script>
    var stripe = Stripe('pk_test_test_Z7WCo5oUXnhfCMMKeEh49Tds00TYAWyZ8h');
    var elements = stripe.elements();
    var card = elements.create('card');
    card.mount('#card-element');
    var $form = $('#payment_form');
    $form.submit(function(e) {
            e.preventDefault();
            $form.find('.button').attr(true);
            stripe.createToken(card).then(function(result) {
                    if (result.error) {
                            $form.prepend('<div class="ui negative message"><p>' +result.error.message + '</p></div>');
                    } else {
                            var token = result.id;
                            $form.append($('<input type="hidden" name="stripeToken">').val(token));
                            $form.get(0).submit();
                    }
            })
    });
    </script>
    Pas d'erreur de script en testant.
    A la validation, ce message "Votre numéro de carte n'est pas valide." s'affiche dans la page.
    Si j'ignore l'erreur et force la validation, le script php reçoit bien en POST la variable "stripeToken".

    Attention, ce que j'ai fait, c'est une tentative au hasard, je n'ai pas étudié la documentation de "Stripe".
    Il ne faut pas mettre en production ce code sans être certain qu'il correspond à une implémentation valide de cet outil.


    ProgElecT : comme l'a montré jreaux62, c'est réellement écrit ainsi dans la documentation.
    La sensibilité à la casse du JS le permet, mais personnellement, je trouve cela un peu risqué tout de même.

  2. #22
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2019
    Messages : 16
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    Ligne 84
    Stripe, stripe, Stripe . . . . stripe, Stripe, stripe
    Ok je test...

  3. #23
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut

    Citation Envoyé par Loralina Voir le message
    ....
    ProgElecT : comme l'a montré jreaux62, c'est réellement écrit ainsi dans la documentation.
    La sensibilité à la casse du JS le permet, mais personnellement, je trouve cela un peu risqué tout de même.
    Non.
    wilson120 déclare une variable avec un s minuscule, puis plus loin dans son code, il l'utilise en mettant un S majuscule, c'est là ou il y a forcement problème.
    Par contre, je conçois bien que la bibliothèque Stripe gère peut être en interne le fait que l'on peut lui passer un paramètre/déclaration insensible à la casse.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  4. #24
    Membre éclairé
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    335
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 335
    Points : 715
    Points
    715
    Par défaut
    ProgElecT, soyons clair :
    Votre message #20 fait suite à son message #19 où il indique :

    "Stripe is not defined" à la ligne 84 qui serait, d'après lui, celle-ci :
    var stripe = Stripe('pk_test_test_Z7WCo5oUXnhfCMMKeEh49Tds00TYAWyZ8h');

    Comment deviner que votre message #20 se réfère à une autre ligne et ne concerne donc pas l'erreur signalée à cette ligne ?

    En admettant même qu'il se trompe de ligne et que "Stripe" soit en fait défini à cette ligne, alors dans la suite utiliser par erreur "Stripe" au lieu de "stripe" ne donnerait pas cette erreur.
    Donc pour moi, votre message #20 ne peut pas être compris comme vous l'espérez.


    D'autre part dans ses derniers codes, où utilise-t-il ensuite "Stripe" avec une majuscule ?
    Il a changé cela depuis longtemps :
    En effet, dans les messages #13 et #16 on peut lire : stripe.card

    J'ajoute : après une recherche, je vois que sa version initiale Stripe.card.createToken était bien celle de la documentation, donc il ne fallait apparemment pas changer ça.
    Cela dit, je n'ai pas repris cela dans mon exemple.

    Par contre, je conçois bien que la bibliothèque Stripe gère peut être en interne le fait que l'on peut lui passer un paramètre/déclaration insensible à la casse.
    Je ne vois pas le rapport avec la variable "stripe" et ce que je dis.

    Citation Envoyé par wilson120 Voir le message
    Ok je test...
    Hein ?
    Vous testez quoi ?
    J'ai mis un exemple fonctionnel qui reprend exactement la ligne qui pose problème.
    Cela ne montre-t-il pas que la ligne est valide ?
    Pourquoi aller tenter je ne sais quelle permutation Stripe/stripe ?

  5. #25
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 185
    Points
    17 185
    Par défaut
    Salut (Re)

    Pour Loralina, cette histoire de s ou S vient depuis le post N°7 de wilson120ou je le signale dans mon message N°8.
    Dans le post N°19
    Citation Envoyé par wilson120
    Il me dit à la ligne 84 : Stripe is not defined
    c'est pourtant la ligne de la doc: var stripe = Stripe('pk_test_test_Z7WCo5oUXnhfCMMKeEh49Tds00TYAWyZ8h');.
    Pour moi la confusion doit venir d'une variable stripe déclarée par lui dans son code, et de la variable Stripe hérité du module API.

    Pour moi quelque soit le langage utilisé, j'ai toujours nommé mes variable liées à un module externe de cette façon MyVarSprite = Stripe('pk_test_TYooMQauvdEDq54NiTphI7jx');, au moins là je savais ou j'en étais, même dans un code de plusieurs centaines de lignes.

    De toute façon, je ne pense pas ré-intervenir dans cette discussion qui n'a que trop durée, de mon avis il manque à wilson120 trop de connaissances "basic" pour qu'il puisse adapter toutes les propositions qui lui ont été faite.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. [DataTables] SyntaxError: unexpected token: ':'
    Par momjunior dans le forum jQuery
    Réponses: 2
    Dernier message: 16/04/2019, 16h57
  2. Uncaught SyntaxError: Unexpected token <
    Par ben nasser islam dans le forum Spring
    Réponses: 0
    Dernier message: 24/05/2018, 17h50
  3. Réponses: 1
    Dernier message: 28/12/2016, 12h47
  4. Réponses: 13
    Dernier message: 17/09/2014, 14h32
  5. [EJBQL] unexpected token DISTINCT
    Par vseb99 dans le forum Java EE
    Réponses: 1
    Dernier message: 17/05/2006, 11h34

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