Ajax -操作一个正确的数组以传递给PHP
Ajax - Manipulate a correct array to pass to PHP
大家好,我是jQuery新手,我遇到过这种类型的问题,
我试图创建一个数组从jquery传递到php控制器(CI)。
样本HTML<input type="text" acc_id="5" class="input" />
<input type="text" acc_id="10" class="input" />
<input type="text" acc_id="15" class="input" />
<input type="text" acc_id="20" class="input" />
Javascript $('#save').click(function(){
var arrayVal = [];
$('.input').each(function(key, value){
var id = $(this).attr('acc_id');
var inputValue = $(this).val();
arrayVal[id] = inputValue;
});
$.ajax({
url: siteurl + '/sample_save',
type: 'POST',
dataType: 'json',
data: {'accounts' : arrayVal},
success: function(data) {}
});
});
这是我在Php中的响应
Array
(
[array] => Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] => value 1
[6] =>
[7] =>
[8] =>
[9] =>
[10] => value 2
[11] =>
[12] =>
[13] =>
[14] =>
[15] => value 3
[16] =>
[17] =>
[18] =>
[19] =>
[20] => value 4
)
)
请注意,响应给了我从0到20的键。
但是我想要这样:
Array
(
[array] => Array
(
[5] => value 1
[10] => value 2
[15] => value 3
[20] => value 4
)
)
我可以以某种方式使它在Php中工作,但我想通过我的javascript代码纠正这些东西。对不起,我的英语不好
你是对的。这显然是一些应该在你的JS代码中解决的问题。
jQuery有一个原生的表单序列化函数。请看这里的一个例子来使用它,这可能是一个更好的方法来解决你的问题。还请注意javaScript没有真正的关联数组。您只能以与其他语言(如PHP)中的关联数组类似的方式使用对象。
编辑
好的,在这种情况下,你的代码没问题。你只需要使用一个对象而不是一个数组。
只使用:
var arrayVal = {};
代替:
var arrayVal = [];
在php文件中试试下面的代码:
$test = array('','',1,2,'',3); //your array
foreach($test as $i=>$k)
{
if(empty($k))
{
unset($test[$i]);
}
}
print_r($test);
输出:Array ( [2] => 1 [3] => 2 [5] => 3 )
或者你可以使用过滤器
代码:$test = array('','',1,2,'',3);
$test = array_filter($test);
print_r($test);
可以使用:array_filter
array_filter($array);
前面有一个关于这个主题的问题:删除空数组元素
PHP.net中的数组过滤器
//You can use this function and it's remove to empty array
<?php
array_filter($array);
?>
http://www.php.net/manual/en/function.array-filter.php
相关文章:
- 将数组从PHP传递到Javascript
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 如何使用Javascript将空数组发送到PHP服务器
- 调用php数组中的JS函数
- PHP中的数组输出
- 将带有多维数组的表单从Javascript提交到PHP
- 将数组从javascript格式化为php的更好方法,反之亦然
- 将PHP变量分配给PHP数组
- php数组转换为javascript
- 如何用javascript打印php数组
- 将PHP数组传递给js变量
- 如何在php中读取没有任何键的JSON数组
- 从javascript访问属性多端数组PHP
- 替换辅助数组 PHP 中的值
- JavaScript发送变量,但插入数组PHP不能正常工作
- 在数组php中中断数组
- 如何通过javascript数组php laravel4
- 多维json编码关联数组php到JS
- (删除重复)重新索引多维数组PHP jquery
- 我可以't在jQuery中获取数组PHP编码