在我的JavaScript中我创建了一个对象,如果我得到console.log(data[71])
:
as_of_date
"2014-01-31"
class_index
"Class C"
fund_no
13
with_load
1
y2004
0
y2005
0
y2006
0
y2007
0
y2008
0
y2009
0
y2010
"9.46%"
y2011
"-0.20%"
y2012
"9.91%"
y2013
"30.48%"
在我的php中,我有一个遍历每个对象的foreach:
if($_POST['function'] == 'update_calendar_year') {
$entries = $_POST['data'];
foreach ($entries as $entry) {
$fund_no = $entry['fund_no'];
$y2004 = preg_replace('/[&%$]+/', '', $entry['y2004']);
$y2005 = preg_replace('/[&%$]+/', '', $entry['y2005']);
$y2006 = preg_replace('/[&%$]+/', '', $entry['y2006']);
$y2007 = preg_replace('/[&%$]+/', '', $entry['y2007']);
$y2008 = preg_replace('/[&%$]+/', '', $entry['y2008']);
$y2009 = preg_replace('/[&%$]+/', '', $entry['y2009']);
$y2010 = preg_replace('/[&%$]+/', '', $entry['y2010']);
$y2011 = preg_replace('/[&%$]+/', '', $entry['y2011']);
$y2012 = preg_replace('/[&%$]+/', '', $entry['y2012']);
$y2013 = preg_replace('/[&%$]+/', '', $entry['y2013']);
$with_load = preg_replace('/[&%$]+/', '', $entry['with_load']);
当我到达最后一个条目时,会发生以下错误:
<b>Notice</b>: Undefined index: y2006 in <b>/home/diamondh/public_html/wp-content/themes/diamond-hill/functions.php</b> on line <b>69</b><br />
<br />
<b>Notice</b>: Undefined index: y2007 in <b>/home/diamondh/public_html/wp-content/themes/diamond-hill/functions.php</b> on line <b>70</b><br />
<br />
如果在我的PHP中i var转储条目[71]我得到以下值:
array(5) {
["fund_no"]=>
string(2) "13"
["class_index"]=>
string(7) "Class C"
["with_load"]=>
string(1) "1"
["y2004"]=>
string(1) "0"
["y2005"]=>
string(1) "0"
}
所有其他传递的值都是正确的,它似乎只是因某种原因而被切断一半值的最后一个对象?上面的var_dump应该显示与我的console.log相同的值,但不是。
沮丧地我试图只将数据[71]传递给我的php并且值是正确的:
$.ajax({
type: "POST",
url: "functions.php",
data: {
function: "update_calendar_year",
data: data[71]
},
success: "success",
dataType: "json"
});
如果我然后检查传入PHP的内容我得到:
array(14) {
["fund_no"]=>
string(2) "13"
["class_index"]=>
string(7) "Class C"
["with_load"]=>
string(1) "1"
["y2004"]=>
string(1) "0"
["y2005"]=>
string(1) "0"
["y2006"]=>
string(1) "0"
["y2007"]=>
string(1) "0"
["y2008"]=>
string(1) "0"
["y2009"]=>
string(1) "0"
["y2010"]=>
string(5) "9.46%"
["y2011"]=>
string(6) "-0.20%"
["y2012"]=>
string(5) "9.91%"
["y2013"]=>
string(6) "30.48%"
["as_of_date"]=>
string(10) "2014-01-31"
}
这正是我所期望的。
对不起,这是一个很长的啰嗦,但这是一个非常奇怪的问题,我已经尝试了所有我能想到的东西,并且已经仔细检查过我能做到的事情。
答案 0 :(得分:2)
PHP的帖子字段数限制为1000。
您有71 * 14个字段= 994
然后下一组14个字段被中途切断。
有关详细信息,请查看this SO post。
要么增加最大帖子字段,要么重构代码和UI,以便一次处理更少的字段。