【发布时间】:2014-07-09 05:27:51
【问题描述】:
我有一个带有 2 个输入的表单,如下所示。我正在通过 ajax 发送 POST 请求
<input name="item_name[]" value="Monthly" id="i1"/>
<input name="item_name[]" value="Weekly" id="i2" />
xmlhttp.open("POST","validation.php",true);
var params = "item_name="+document.getElementById('i1').value+"item_name="+document.getElementById('i2').value;
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");
xmlhttp.send(params);
当我在 php 中提交页面时,我无法读取这两个值。该数组仅显示第一个值的一个字符。
echo '1.'.$_POST['item_name'][0].' 2.'.$_POST['item_name'][1];
输出为:1.M 2.o
预期输出是1.Monthly 2.Weekly
即使,我尝试打印$_POST['item_name'],它只显示每月。
Chrome --> 开发者工具 --> 也提供正确的输出。不知道问题出在哪里?
【问题讨论】:
-
工作正常,你确定它们拼写相同并且有
[]吗? -
@AbraCadaver :我在我的问题中添加了更多细节。我正在通过 AJAX 请求提交页面。
标签: javascript php html ajax