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

AJAX Discussion :

[AJAX] erreur XMLHttpRequest


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Par défaut [AJAX] erreur XMLHttpRequest
    Bonjour,

    je souhaite faire une partie "pari sportif gratuit" sur mon site et je suis entrain de faire le panier afin d'ajouter les paris.
    Je ne savais pas du tout comment faire étant donné que je débute en langage web et après quelques recherches j'ai commencé a le faire avec du javascript/ajax.
    Avec ce que j'ai lu sur le cours AJAX/XMLHttpRequest, j'ai essayé de faire "un panier" mais malheureusement ca ne marche pas(le contraire m'aurais surpris ).
    Si quelqu'un pouvait analyser mon code et me dire où je me suis trompé ou me dire si je suis completement a l'ouest pour realiser ce que je veux, ca serais vraiment sympa.
    Lorsque j'execute ce code le pari ne s'ajoute pas dans le panier.

    # ma ligne de pari dans le fichier index.php:
    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
     
    <div class="idaalar">
    	<table>
    		<tr class="ecart"></tr>
    		<tr id="tableau">
    			<td class="heure">21:00</td>
    			<td class="match">TEAM 1 - TEAM 2</td>
    			<td class="cote"><a href="#" name="1" onclick="ajoutpari(this, this.name);" class="bcote">2.40</a></td>
    			<td class="ecart"></td>
    			<td class="cote"><a href="#" name="N" onclick="ajoutpari(this, this.name);" class="bcote">2.85</a></td>
    			<td class="ecart"></td>
    			<td class="cote"><a href="#" name="2" onclick="ajoutpari(this, this.name);" class="bcote">2.55</a></td>
    		</tr>
    		<tr class="ecart"></tr>
    	</table>
    </div>
    # au moment du clic sur une cote, on fait appel a la fonction suivante:
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    function ajoutpari(valeur, element)
    {
    	var xhr = null; 
     
    	if(window.XMLHttpRequest)
    	{
    		xhr = new XMLHttpRequest(); 
    	}
    	else if(window.ActiveXObject)
    	{
    		xhr = new ActiveXObject("Microsoft.XMLHTTP");
    	}
    	else
    	{
    		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest!!"); 
    		return null; 
    	} 
     
    	var tabcell = document.getElementById('tableau').cells;
    	var match = tabcell[1].innerHTML;
    	var equipe1 = match.substring(0, match.indexOf('-'));
    	var equipe2 = match.substring(match.lastIndexOf('-') + 1);
    	var indice = element;
    	var cote = valeur.innerHTML;
    	var resultat = null;
    	if(indice == "1")
    	{
    		resultat = equipe1;
    	}
    	else if(indice == "2")
    	{
    		resultat = equipe2;
    	}
    	else
    	{
    		resultat = "Nul";
    	}
    	xhr.open('GET', 'http://localhost/betgame/selection.php?param1=' + match + '&param2=' + resultat + '&param3=' + cote); 
    	xhr.onreadystatechange = function() 
    	{
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) 
    		{	
    			document.getElementById('selections').innerHTML += xhr.responseText;
            }
        };
        xhr.send(null); 
    }
    # fichier selection.php qui est normalement censé afficher le pari dans le panier si j'ai pas fais n'importe quoi:
    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
     
    <?php
     
    header("Content-Type: text/html");
     
    $match = (isset($_GET["param1"])) ? $_GET["param1"] : NULL;
    $resultat = (isset($_GET["param2"])) ? $_GET["param2"] : NULL;
    $cote = (isset($_GET["param3"])) ? $_GET["param3"] : NULL;
     
    $i = rand(0,999999999);
     
    echo '<div name="bet" id="ligne'.$i.'" class="pari">';
    echo '<table>';
    echo '<tr>';
    echo '<td class="case1">';
    echo '<div class="match">'.htmlentities($match).'</div>';
    echo '<div class="resultat">Résultat: <span class="resulteam">'.htmlentities($resultat).'</span></div>';
    echo '</td>';
    echo '<td class="case2">';
    echo '<span class="cote">'.htmlentities($cote).'</span>';
    echo '</td>';
    echo '<td class="case3">';
    echo '<a href="javascript: destroyligne(\'selections\', \'ligne'.$i.'\');" class="delpari"><img src="../images/delete.gif" alt="" /></a>';
    echo '</td>';
    echo '</tr>';
    echo '</table>';
    echo '</div>';
    # code(index.php)où va etre inserer le pari dans le panier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div class="panier">
    	<div class="titreright">Votre sélection</div>
    	<div id="selections" class="selections">
     
    	</div>			
    </div>
    merci d'avance de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    1-
    xhr.open('GET', 'http://localhost/betgame/selection.php?param1=' + match + '&param2=' + resultat + '&param3=' + cote);
    Utilise un chemin relatif.
    2-
    xhr.onreadystatechange = function()
    {
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
    {
    document.getElementById('selections').innerHTML += xhr.responseText;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    xhr.onreadystatechange = function(){
            if (xhr.readyState == 4){ 
    			if (xhr.status == 200 || xhr.status == 0){	
    				document.getElementById('selections').innerHTML += xhr.responseText;
    			} else{
    				alert("Erreur: "+xhr.status);
    			}
    		}
        }
    Essaie d'utiliser Firebug pour voir où est l'erreur.

    A+.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Par défaut
    mon navigateur m'affiche cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Horodatage*: 17/05/2012 22:59:43
    Erreur*: uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: http://localhost/js/function.js :: <TOP_LEVEL> :: line 527"  data: no]

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Il y a quoi à la ligne 527 du fichier function.js?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Par défaut
    ligne 527:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("Erreur: "+xhr.status);

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Si l’exécution passe à cette ligne, cela veut dire que ton status n'est ni à 200, ni à 0. Donc tu as d'erreur.
    Tu est sur quelle navigateur et quelle version?
    As-tu déjà modifier ton code pour utiliser un chemin relatif pour l'url?
    Essaie d'utiliser Firebug et montre nous ce qu'il donne comme erreur.

    A+.

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

Discussions similaires

  1. [AJAX] Erreur de reception d'XMLHttpRequest
    Par Isalyn dans le forum AJAX
    Réponses: 5
    Dernier message: 02/02/2010, 21h42
  2. [AJAX] Erreur XMLHttpRequest ..
    Par Lunthear dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/04/2007, 12h29
  3. [AJAX] Objets XMLHttpRequest <-> Sql
    Par kij dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 05/11/2006, 12h41
  4. [Ajax] Problème XMLHttpRequest Firefox
    Par wwave dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/09/2006, 15h42
  5. [AJAX] Erreur système : -1072896658 Code 0
    Par ericw78 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 01/02/2006, 19h55

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