Javascript Codeigniter AJAX通过POST将数组传递到另一个页面
是否可以通过AJAX POST将通过复选框填充的数组传递到另一个页面并导航到该页面 当前的场景是,我有一个带有复选框的表,允许用户选择复选框来支付多个项目。问题是将多个ID传递到付款页面。关于我如何做,有什么建议吗 这就是我到目前为止所做的:Javascript Codeigniter AJAX通过POST将数组传递到另一个页面,javascript,php,ajax,codeigniter,Javascript,Php,Ajax,Codeigniter,是否可以通过AJAX POST将通过复选框填充的数组传递到另一个页面并导航到该页面 当前的场景是,我有一个带有复选框的表,允许用户选择复选框来支付多个项目。问题是将多个ID传递到付款页面。关于我如何做,有什么建议吗 这就是我到目前为止所做的: function pay(input){ var id = input; $.ajax({ method: "POST", url: "<?php echo site_url($this->dat
function pay(input){
var id = input;
$.ajax({
method: "POST",
url: "<?php echo site_url($this->data['controller'].'/Pay'); ?>",
data:'id='+id,
beforeSend: function () {
$('.loading').show();
},
success: function(data){
//what do i fill here
}
});
}
功能支付(输入){
变量id=输入;
$.ajax({
方法:“张贴”,
url:“”,
数据:'id='+id,
beforeSend:函数(){
$('.loading').show();
},
成功:功能(数据){
//我在这里填什么
}
});
}
或者是否有其他方法可以执行此操作?发出POST请求时,数据参数不是字符串。将所有表单数据保存到一个变量中,并将该变量分配给POST调用的“data”元素。您可以这样做:
var myform = $('form').serialize(); // This will save all the form's data to the variable myform
然后
data: myform, // This will send what myform contains via POST
在“success”中,您可以解析POST响应中的信息。
之后,您可以使用以下命令重定向:
window.location.href = 'http://yourlink.here'; //this will redirect you to another page
通过一个数组,您可以将其发布到ajax
var check_box_array = [];
$("input:checkbox[name=type]:checked").each(function(){
check_box_array.push($(this).val());
});
然后
$.ajax({
method: "POST",
url: "<?php echo site_url($this->data['controller'].'/Pay'); ?>",
data:{check_box_data:check_box_array},
beforeSend: function () {
$('.loading').show();
},
success: function(data){
//what do i fill here
}
});
$.ajax({
方法:“张贴”,
url:“”,
数据:{复选框数据:复选框数组},
beforeSend:函数(){
$('.loading').show();
},
成功:功能(数据){
//我在这里填什么
}
});
我将此问题分为两个问题:
是否可以将通过复选框填充的数组传递给
另一页
为什么是在输入名称中使用方括号使其成为数组
<input type="checkbox" name="id[]" value="2">
<input type="checkbox" name="id[]" value="6">
我可以通过AJAX POST将数组传递到另一个页面并导航到该页面吗
页面
IIRC如果不使用肮脏的解决方法,这是不可能的。JavaScript和jQuery不提供此功能。要找到解决方法,您必须意识到,您要做的只是使用POST参数导航到不同的页面。
表单不正是这样做的吗是的,他们有强> 我所说的肮脏的解决方法当然是一个隐藏的表单,您可以使用JS/jQuery填充所有需要的信息并提交它。是关于这件事的吗
不过,在您的情况下,我只会使用您已有的表单(带有多个复选框),因为您可以轻松地通过表单传递一组复选框值。但我希望获得ID并在那里导航。Ids将从数据库中加载一个项目列表,以便我可以执行支付。对不起,ajax请求中的第一个url呢?这不是我要传递数据的url吗?但这只是将数据发送到支付页面。我也想在那里导航。您的方法将支付页面视为要调用的函数。
$selectedItemIDs = $_POST['id'];
// $selectedItemIDs is now [2, 6] if both checkboxes were selected.