как отправить несколько данных с помощью $ .ajax () jquery

Я пытаюсь отправить несколько данных, используя метод j. $ .ajax для моего php-скрипта, но я могу передавать только отдельные данные, когда я конкатенирую несколько данных. Я получаю неопределенную ошибку индекса в моем скрипте php. tat означает, что запрос ajax выполняется, но данные не являются отправлено мне нужно знать, как я должен форматировать несколько данных для последовательного отправки его в скрипт обработки в пару имен vale, вот что я написал

 $(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; }); });      

Вы можете создать объект пары ключ / значение, а jQuery сделает для вас все остальное:

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

Таким образом, данные будут правильно закодированы автоматически. Если вы хотите придумать свою собственную строку, убедитесь, что вы используете encodeURIComponent() : https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent

Ваш текущий код не работает, потому что строка не выдумана правильно:

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

должно быть:

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

Изменить var data = 'id='+ id & 'name='+ name; как показано ниже,

используйте это вместо этого …..

 var data = "id="+ id + "&name=" + name; 

это будет нормально работать 🙂

 var data = 'id='+ id & 'name='+ name; 

Также необходимо указать амперсанд:

 var data = 'id='+ id + '&name='+ name; 
 var value1=$("id1").val(); var value2=$("id2").val(); data:"{'data1':'"+value1+"','data2':'"+value2+"'}" 
 var my_arr = new Array(listingID, site_click, browser, dimension); var AjaxURL = 'http://example.com'; var jsonString = JSON.stringify(my_arr); $.ajax({ type: "POST", url: AjaxURL, data: {data: jsonString}, success: function(result) { window.console.log('Successful'); } }); 

Это работает для меня довольно долгое время.

Я бы рекомендовал использовать хеш вместо строки param:

 data = {id: id, name: name} 

вы можете использовать FormData

взгляните на мой fragment из MVC

 var fd = new FormData(); fd.append("ProfilePicture", $("#mydropzone")[0].files[0]);// getting value from form feleds d.append("id", @(((User) Session["User"]).ID));// getting value from session $.ajax({ url: '@Url.Action("ChangeUserPicture", "User")', dataType: "json", data: fd,//here is your data processData: false, contentType: false, type: 'post', success: function(data) {}, 
 var CommentData= "u_id=" + $(this).attr("u_id") + "&post_id=" + $(this).attr("p_id") + "&comment=" + $(this).val(); 
  var value1=$("id1").val(); var value2=$("id2").val(); data:"{'data1':'"+value1+"','data2':'"+value2+"'}" 

Вы можете использовать этот способ для передачи данных

  • Как обновить (добавить в) href в jquery?
  • Загрузка файла с использованием MVC 4 с Ajax
  • Найти все элементы на странице, чей идентификатор элемента содержит определенный текст, используя jQuery
  • Получение курсора браузера от «wait» до «auto» без перемещения пользователем мыши
  • parsererror после запроса jQuery.ajax с типом содержимого jsonp
  • Удалить текст с помощью jQuery
  • jQuery: Как получить значение атрибута html?
  • Событие изменения триггера () при установке значения с помощью функции val ()
  • onHide () тип события в jQuery
  • Сеанс Codeigniter, прослушивающий вызовы ajax
  • Официальный способ спросить jQuery ждать загрузки всех изображений перед выполнением чего-либо
  • Давайте будем гением компьютера.