通过jqueryajax传递PHP数组
我有一个php数组:通过jqueryajax传递PHP数组,php,mysql,arrays,Php,Mysql,Arrays,我有一个php数组: $toField = explode(",", $ids); //Which looks something like '24,25,26,29' 我想通过jQuery AJAX传递这个数组,如下所示: <form id="myForm"> <input type="hidden" value="'.$toField.'"> <input type="submit" id="sendMessage" class="faceboxS
$toField = explode(",", $ids); //Which looks something like '24,25,26,29'
我想通过jQuery AJAX传递这个数组,如下所示:
<form id="myForm">
<input type="hidden" value="'.$toField.'">
<input type="submit" id="sendMessage" class="faceboxSubmit" name="ok" value="Send Reply"/>
</form>
下面是我的jQuery:
$("#sendMessage").click(function(event){
event.preventDefault();
var senderID = <?php echo $usrID; ?>;
var receiverID = $("#toField").val();
$.ajax(
{
type: "POST",
url: "replyMessage.php",
data: "senderID=" + senderID + "&subject=" + subject + "&message=" + message + "&receiverID=" + receiverID + "&threadID=" + thread_id,
beforeSend: function() {
$("#sendingMessage").show();
},
success: function() {
alert("Success");
}
});
});
$(“#发送消息”)。单击(函数(事件){
event.preventDefault();
var senderID=;
var receiverID=$(“#toField”).val();
$.ajax(
{
类型:“POST”,
url:“replyMessage.php”,
数据:“senderID=“+senderID+”&subject=“+subject+”&message=“+message+”&receiverID=“+receiverID+”&threadID=“+thread\u id,
beforeSend:function(){
$(“#发送消息”).show();
},
成功:函数(){
警惕(“成功”);
}
});
});
如何传递数组,以便通过“replyMessage.php”页面,我可以从数组中获取每个ID,以执行以下操作:
<?php
foreach ($_POST['receiverID'] as $receiverID)
{
mysql_query //etc...
}
您可以在php代码中获取字符串并用逗号分隔,然后循环遍历这些值
首先,您可能希望使用而不是分解来构造$toField
变量;-)
那会给你什么
string '24,25,26,29' (length=11)
然后将其注入表单中;像这样的事情可能会:
<input type="hidden" value="<?php echo $toField; ?>">
这将使你:
string '24' (length=2)
string '25' (length=2)
string '26' (length=2)
string '29' (length=2)
现在,您可以使用这些ID…我要整理的事情很少:-
- 您的toField输入元素上缺少id“toField”
- 您应该对$id变量使用infrade(),而不是分解它
- 另一方面,应该对ReceiveId字符串调用explode()
然后在PHP中:
foreach ( $_POST [ 'to' ] as $num )
{
// do something with $num;
}
类似这样的选项?只需在for-each循环中使用一些特殊字符(如&)来回显数组。
如果是多维的,则在两个循环上使用每个字符并回显它。
通过使用一些分隔符函数,在java脚本中将其改回数组
string '24' (length=2)
string '25' (length=2)
string '26' (length=2)
string '29' (length=2)
<form id='myform'>
<input type='hidden' name='to[]' value='1' />
<input type='hidden' name='to[]' value='2' />
.. etc ..
.. rest of you're form ..
</form>
data: $('#myform').serialize()
foreach ( $_POST [ 'to' ] as $num )
{
// do something with $num;
}