how to send multiple data with $.ajax() jquery

ajax, jquery

Solution

You can create an object of key/value pairs and jQuery will do the rest for you:

$.ajax({
    ...
    data : { foo : 'bar', bar : 'foo' },
    ...
});

This way the data will be properly encoded automatically. If you do want to concoct you own string then make sure to use `encodeURIComponent()`: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent

Your current code is not working because the string is not concocted properly:

'id='+ id  & 'name='+ name

should be:

'id='+ encodeURIComponent(id) + '&name='+ encodeURIComponent(name)

Problem

i am trying to send multiple data using j query $.ajax method to my php script but i can pass only single data when i concatenate multiple data i get undefined index error in my php script tat means the ajax request is made but data is not sent i need to know how should i format multiple data to successively send it to processing script in name vale pair here is what i have written ``` <script> $(document).ready(function() { $('#add').click(function () { var name = $('#add').attr("data_id"); var id = $('#add').attr("uid"); var data = 'id='+ id & 'name='+ name; // this where i add multiple data using ' & ' $.ajax({ type:"GET", cache:false, url:"welcome.php", data:data, // multiple data sent using ajax success: function (html) { $('#add').val('data sent sent'); $('#msg').html(html); } }); return false; }); }); </script> <span> <input type="button" class="gray_button" value="send data" id="add" data_id="1234" uid="4567" /> </span> <span id="msg"></span> ```

Original source