我正在使用 Jquery 将数据传递给一个 php 文件,并且一切似乎都运行良好,除了 $_REQUEST 数组包含一个让我失望的附加项目。
这是表格:
<form id = "filter">
<input class="hook1" type="checkbox" value="115" name="0"> bla blah <br >
<input class="hook1" type="checkbox" value="116" name="1"> blah blah <br >
<input class="hook1" type="checkbox" value="107" name="2"> stil blah blah
</form>
这是jQuery:
<script>
$(document).ready(function(){
$("#filter").change(function()
{
var str = $("#filter").serialize();
alert( str );
$.ajax({
url: "filter_trim.php",
type: "POST",
dataType:"json",
data: str,
success: function(data){
// do something with returned data
}
});
});
});
</script>
使用 Firebug 的 var_dump($_REQUEST) 正在使用来自 Firebug 的控制台为 2 个复选框的情况打印此内容。VAR_DUMP($_REQUEST)= array(3) { [1]=> 字符串(3) "116" [2]=> 字符串(3) "107" ["SQLiteManager_currentLangue"]=> 字符串(1) "2"
我不知道最后一个项目是从哪里来的。可能是正常的,我现在才看到它,因为这是我第一次传递数据数组。
php 文件 filter_trim.php 像这样启动。如您所见,我必须使用 array_pop() 来删除 $_REQUEST 数组上不需要的最后一项。
<?php
$connect = mysql_connect("localhost", "root", "root");
mysql_select_db("cars");
$trimids = array();
var_dump($_REQUEST);
array_pop($_REQUEST);
$trimids = $_REQUEST;
$trimids = implode(",", $trimids);
我很感激任何意见。
谢谢