0

I am struggling to pass an array called $numbers which is simply something like say 1,2,4 into the $.ajax. It is not being recognised and I don't know how to get this information on the following page. This is my code:

<?php
    // $numbers = 1,2,4;
        print
        "<div class='col-lg-6 col-md-6 col-sm-6 col-xs-12 col-md-pull-6 col-sm-pull-6'>".
                        "<div class='form-group'>".
                            "<div class='col-md-12'><strong>Forename:</strong></div>".
                            "<div class='col-md-12'><input type='text' class='form-control' id='forename'></div>".
                        "</div>".
                        "<div class='form-group'>".
                            "<div class='col-md-12'><strong>Surname:</strong></div>".
                            "<div class='col-md-12'><input type='text' class='form-control' id='surname'></div>".
                        "</div>".
                            "<div class='form-group'>".
                                "<div class='col-xs-12 col-md-6'>".
                                    "<button id='button' class='btn btn-success btn_add'>Add</button>".
                                "</div>".
                            "</div>".
                        "</div>".
        "</div>";

        }

?>

<script type="text/javascript">     
    $(document).on("click", 'button.btn_add', function(){
        var forename = document.getElementById('forename').value;
        var surname = document.getElementById('surname').value;
        var number = <?php echo $numbers; ?>;
        if((forename == null || forename == "") && (surname == null || surname == "")){
            alert("Please fill in all fields");
        }
else {
    $.ajax({
        url: adduserinfo.php,
        method: 'post',
        dataType: 'json',
        data: 'forename=' + forename + '&surname=' + surname + '&numbers=' + number
    });

</script>

1 Answers1

0

You need to pass object and not query string.

use

if $numbers is array then use

var number = <?php echo json_encode($numbers); ?>; // cant echo array

if $numbers is string then use

var number = "<?php echo $numbers; ?>"; // cant echo array

ajax call

$.ajax({
    url: adduserinfo.php,
    method: 'POST',
    dataType: 'json',
    data: { forename : forename, surname : surname, numbers : number }
});
Arjun J Gowda
  • 720
  • 10
  • 21