Bonjour tout le monde,

J'utilise ajax depuis de nombreux mois (+ de 18) et je n'ai jamais eu ce souci :

J'obtiens ce message d'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://Congres/AJAX/Enregistrer_guests.js :: anonymous :: line 8" data: no]

Line 20
quand je mets cette ligne :

Je suis obligé de le mettre car je n'arrive pas dans la page PHP :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
xhr.open("POST","../AJAX/Enregistrer_guests.php",true);
L'alerte js située ici me donne une fenêtre vide :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
    LeRetour = xhr.responseText; 
            alert(LeRetour);
Voici le code js :

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
function Enregistrer_guests(chaine_guests)
{
    //alert(chaine_guests);
    var xhr = getXhr();
 
    xhr.onreadystatechange = function()
    {
        alert(xhr.status);
        //alert(xhr.readyState);
        if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0 ) )
 
        {
            LeRetour = xhr.responseText; 
            alert(LeRetour);
 
        }
    }
 
    //alert("ici");
    xhr.open("POST","../AJAX/Enregistrer_guests.php",true);
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xhr.send("chaine_guests="+chaine_guests);
}
Voici mon code 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
<?php
    
    echo 'ici';
    include('../includes/connexion.php');
    
    $tableau_guests = explode('#',$_POST['chaine_guests']);
    
    for($i=0; $i < $tableau_guests.lenght; $i++)
    {
        $sql = "INSERT INTO guest (Complete_Name) VALUES('".$tableau_guests[$i]."')";
        echo $sql;
        //$query = mysql_query($sql);
    }
 
?>
Je pense que le path est incorrect mais j'ai testé avec AJAX/Enregistrer_guests.php et avec Enregistrer_guests.php mais sans succès.

Merci d'avance pour l'aide.

Complément d'information :

Je travail avec un onsubmit :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
<form method="post" action="https://secure.ogone.com/ncol/test/orderstandard.asp" onsubmit="return verifier_data_guest();">
J'arrive donc dans une fonction que voici :

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
function verifier_data_guest()
{
 
	chaine_guests = new String();
	//je teste le nombre de zone de texte (guest) présente dans la page.
	var i = 1; 
	while(document.getElementById('zdt_firstname'+i)){ 
	//je teste que ça contient bien quelque chose
	if((document.getElementById('zdt_firstname'+i).value == '')||(document.getElementById('zdt_name'+i).value == ''))
	{
		alert("Please complete information for guest "+i);
		return false;
	}
	else
	{
		chaine_guests+= document.getElementById('zdt_firstname'+i).value + ' ' + document.getElementById('zdt_name'+i).value+'#';
		i++; 
	}
 
 
	} 
	i = i -1;
 
	Enregistrer_guests(chaine_guests);
 
	return true;
}
et j'appelle la fonction Enregistrer_guests(chaine_guests);

beegees