我正在尝试使用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>
您可以创建一个键/值对的对象,jQuery将为您完成其余工作:
$.ajax({ ... data : { foo : 'bar', bar : 'foo' }, ... });
这样,数据将被自动正确编码。如果您确实想炮制自己的字符串,请确保使用encodeURIComponent():https : //developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent
encodeURIComponent()
您当前的代码无法正常工作,因为该字符串未正确编写:
'id='+ id & 'name='+ name
应该:
'id='+ encodeURIComponent(id) + '&name='+ encodeURIComponent(name)