我正在运行Firefox 2.0.0.14。
我在网页上有一个表格可以正常使用GET方法。
我在提交表单时使用插件查看浏览器的HTTP请求,现在是:
GET /postComment.php?review=2&comment=Testing HTTP/1.1
...
但是,如果我在表单上进行从method = GET到method = POST的简单更改:
GET /postComment.php HTTP/1.1
...
它甚至没有尝试发布。
在任何情况下都有任何可能的原因?
编辑:这是表格:
<form method=POST action="postComment.php"><input type=hidden name=review value="2"><input type=submit value="Postit">
</form>
答案 0 :(得分:0)
是否设置了表单标记的action参数? Javascript可以拦截帖子吗?您表单中的某些HTML会有所帮助,或者示例链接:)
答案 1 :(得分:0)
我猜你的插件没有捕获POST变量。由于插件的输出是:
GET /postComment.php HTTP/1.1
你是如何捕捉你的POST可用的?如果正确设置了表单操作和方法,则$ _POST ['key']或$ _REQUEST ['key']应包含您的值。
在查询字符串中找不到POST。
编辑: 如果您要捕获帖子值,可以使用以下内容进行检查:
if (isset($_REQUEST['submit'])) {
echo $_REQUEST['review'];
}
或
if (isset($_POST['submit'])) {
echo $_POST['review'];
}
橡子
答案 2 :(得分:0)
首先,我要确保您的HTML是有效的XHTML。将引号中的属性值换行,并使用/&gt;结束输入元素。使用有效的DOCTYPE。
另外,尝试将提交按钮的值更改为“提交”(因为这是默认设置)。
在不同的浏览器中试用,包括最新版本的Firefox。
答案 3 :(得分:0)
首先,您需要调整<form>
代码:
<form method="post" ... >
其次,我有一个名为debugArray的函数,用于吐出行为不端的数组。它非常方便:
function debugArray($array){
echo("<pre>");
print_r($array);
echo("</pre>");
}
然后,在你的代码中调用它:
debugArray($_POST);
通过查看$ _POST数组的全部内容,您可以准确地看到正在发送的内容,不发送的内容以及发送方式。
我愿意下注其中一项是真的:
<form>
标记之外。编辑:我也倾向于更新你的Firefox副本。