Javascript Ajax-操作正确的数组以传递给PHP
大家好,我是jQuery的新手,遇到过这种问题 我试图从jquery创建一个数组,将其传递给php控制器(CI) 示例HTMLJavascript Ajax-操作正确的数组以传递给PHP,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,大家好,我是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
<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" />
下面是我用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代码来纠正这一点。对不起,我的英语不好:)您可以使用:数组\u过滤器
array_filter($array);
前面有一个问题涉及该主题:
您可以使用:数组\u过滤器
array_filter($array);
前面有一个问题涉及该主题:
在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 )
或者您可以使用过滤器
代码:
在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 )
或者您可以使用过滤器
代码:
你说得对。这显然是应该在JS代码中解决的问题 jQuery有一个用于表单的本机序列化函数。请参阅使用它的示例,这可能是解决问题的更好方法 另外,请注意javaScript没有真正的关联数组。您只能以与其他语言(如PHP)中的关联数组类似的方式使用对象 编辑 好的,在这种情况下,您的代码是正确的。您只需要使用对象而不是数组 只需使用:
var arrayVal = {};
而不是:
var arrayVal = [];
你说得对。这显然是应该在JS代码中解决的问题 jQuery有一个用于表单的本机序列化函数。请参阅使用它的示例,这可能是解决问题的更好方法 另外,请注意javaScript没有真正的关联数组。您只能以与其他语言(如PHP)中的关联数组类似的方式使用对象 编辑 好的,在这种情况下,您的代码是正确的。您只需要使用对象而不是数组 只需使用:
var arrayVal = {};
而不是:
var arrayVal = [];
//您可以使用此函数并将其删除为空数组
http://www.php.net/manual/en/function.array-filter.php
//您可以使用此函数并将其删除为空数组
http://www.php.net/manual/en/function.array-filter.php
我没有这个字段的表单,我只是在提取属性acc_id(用于键id)及其值,呵呵,这就设置好了,谢谢老兄!太棒了。总是很乐意帮忙。:-)我没有这个字段的表单,我只是在提取属性acc_id(用于key id)及其值,呵呵,这就可以了,谢谢你,伙计!太棒了。总是很乐意帮忙。:-)这是一些很好的关于这些东西的进一步阅读。谢谢,伙计,这在Php中是有效的,但我一直在寻找准确的js解决方案,不管怎样,silver帮了我的忙,但这是一件在未来需要保留的事情。:)谢天谢地,这在Php中是可行的,但我一直在寻找准确的js解决方案,不管怎样,silver帮了我的忙,但这也是一件在未来需要保留的事情。:)