【发布时间】:2013-09-04 11:15:28
【问题描述】:
我想从表单中读取所有发布变量及其内容并使用 jquery 的“$.post()”发布它们。 首先,这不会完成工作: $.post("myServer.com/test2.php", $('#myform').serialize()) 因为它只会发送一个我必须在 php 端解析的变量。
我会这样开始:
function doIndirectPost() {
variableWithTheFormPOSTData = {};
$("#IdOfMyForm :input").each(function() {
variableWithTheFormPOSTData[$(this).attr("name")] = $(this).attr("value");
}
document.getElementById("IdOfMyForm").submit();
$.post("myServer.com/test2.php", variableWithTheFormPOSTData);
}
然后我想使用 $.post() 来发布分隔在多个变量中的数据(就像普通的表单提交一样...... 我在某处读到,您可以这样做:
$.post('myserver.com/test2.php.php',{
var1: content1,
var2: content2
}
但我希望它是动态的。这部分:
var1: content1,
var2: content2
应该自动包含表单的所有变量名和值。
最后我希望能够像这样获得所有 POST 变量:
foreach ($_POST as $key => $value)
{
echo $key . "= " . $value;
}
【问题讨论】:
-
你试过
serializeArray()吗? -
"首先,这不起作用:$.post("myServer.com/test2.php", $('#myform').serialize()) 因为它会只发送一个变量”——这根本不是真的。它将使用标准表单编码方法发送表单中所有成功的输入,PHP 会自动对其进行解码并填充
$_POST。 -
真的吗?有人告诉我必须使用 parse_str($_POST['serialize'], $data);在上面。身份证
-
只有当你做了一些愚蠢的事情,比如:
$.post('foo.php', { serialize: $('#myform').serialize() });
标签: php javascript jquery html ajax