3 votes

Index indéfini lors d'une requête post ajax

enter image description here Cette question peut sembler redondante, mais elle ne l'est pas. J'ai fait des recherches sur Google mais mon problème reste entier.

Le problème est que le php script ne peut pas définir le tableau $_POST à la valeur transmise par la requête ajax post. J'ai un formulaire qui, lorsqu'il est soumis, affiche un autre formulaire dans les mêmes divs que le premier formulaire. Le second formulaire contient un bouton "submit", ainsi qu'un bouton qui envoie une requête ajax post, mais sa valeur n'est pas définie par php. Le code est le suivant :

code html : il s'agit d'extraire la valeur du span.

<i>Current Balance: <span id="bal_val"><?php echo $b; ?></span></i>
<div id="bal" style='color:green;'>

Code Ajax : ici, le bouton d'édition est un bouton (du premier formulaire) qui permet l'affichage du second formulaire. Le deuxième formulaire contient l'entrée balbutton, qui envoie une requête ajax.

 $('#edit').click(function(event){  
          event.preventDefault();
$('#bal').html('<button class="btn1 btn-1 btn-1b" id="balbutton" name="balbutton">Add 1000 Rs.</button>');
});

$('#balbutton').click(function(event){
              event.preventDefault();

              var bal = document.getElementById('bal_val').innerHTML;
              var balance = parseInt(bal);
             var dataString = {balance};

               $.ajax({
                                    type: "POST",
                                    url: "admin.php/",
                                    data: dataString,
                                    contentType: 'application/x-www-form-urlencoded',
                                    cache: false,
                                    dataType: 'text',
                                    success: function(result){
                                    var data="";
                                    console.log(result);
                                    $('#bal').html('We will add 1000rs to your account soon');
                                    },
                                    error: function(error){console.log(error);}
                            });  

      });

code php :

<?php 

$bal=$_POST['balance'];

$bal=intval($bal);
echo $bal;

echo '<pre>';
echo print_r($_POST);
echo '</pre><br>';

echo '<pre>';
echo var_dump($_POST);
echo '</pre>';
?>

Aussi, j'ai essayé les solutions de :

  1. Index indéfini : Erreur dans ajax POST et/ou php script ?
    1. jquery ajax => Index indéfini php
    2. Index indéfini dans un message PHP avec AJAX
    3. Erreur d'index indéfini en php avec ajax
    4. http://forums.devshed.com/php-development-5/jquery-json-php-undefined-index-950332.html

Instantané de la requête post ajax et de l'erreur PHP

Jquery ajax post on console and php error

1voto

Praveen Kumar Points 29309

Dans cette partie, vous ne donnez pas une syntaxe valide :

var dataString = {balance};

Changez ce qui précède en :

var dataString = {balance: balance};

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X