小编典典

如何使用$ .ajax()jQuery发送多个数据

ajax

我正在尝试使用j查询$
.ajax方法向我的php脚本发送多个数据,但是当我连接多个数据时我只能传递单个数据我的php脚本tat中出现未定义的索引错误,意味着发出了ajax请求,但没有数据发送,我需要知道如何格式化多个数据以依次将其发送到名称为vale对的处理脚本中,这是我写的

<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>

阅读 360

收藏
2020-07-26

共1个答案

小编典典

您可以创建一个键/值对的对象,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)
2020-07-26