Tom Cruise
Tom Cruise

Reputation: 69

Post array to PHP through ajax

I'm trying to post an array through ajax to php file on form submit.

<form action="echo.php" method="post">
<input name="qwerty[]" type="text">
<input name="qwerty[]" type="text">
<input type="submit"/>
</form>

Basically, I use this to post to php file:

function getlist(alt) {
    $.ajax({
    type:'POST',
    url: 'markattlist.php',
    data:{today:alt},
    success: function(data){
    $('#helloflist').html(data);
    },
    error:function (){}
    });
}

Above is an example of what I'm trying to do. I've searched, but unable to find the solution to that. How can I post an array through ajax.

Upvotes: 2

Views: 3051

Answers (3)

Afshan Shujat
Afshan Shujat

Reputation: 551

You can serialize the form data using data:$('#form').serialize() function and can send it using ajax or you can use JSON data type to send an array.

var Data = $('#yorFormName').serializeArray();
var JSONData = JSON.stringify(convertToJSON(Data));

 $.ajax({
        url: your_url,
        type: "POST",
        dataType: "json",
        data: JSONData,
        contentType: "application/json; charset=utf-8",
        success: function (response) {

            if (response.status == 'success') {
            // success logic
           } 
        },
        error: function () {
            var errMsg = "Unexpected Server Error! Please Try again later";


        }

    });

Hope this will help you.

Upvotes: 2

u_mulder
u_mulder

Reputation: 54796

Instead of bothering how to send what you need, I advise you to use jquery serialize() method:

function getlist(alt) {
    $.ajax({
    type:'POST',
    url: 'markattlist.php',
    data: $("form").serialize(),
    success: function(data){
        $('#helloflist').html(data);
    },
    error:function (){}
    });
}

And check on server-side with

print_r($_POST);

Upvotes: 1

Jonas Wilms
Jonas Wilms

Reputation: 138497

data: JSON.stringify({d:c}),

Encode it as json and decode it on the server:

$data=json_decode($_POST["data"]);

Upvotes: 0

Related Questions