是否可以从JavaScript检测页面的HTTP请求方法(例如GET或POST)?如果是这样,怎么样?
答案 0 :(得分:30)
总之 - 没有
答案 1 :(得分:18)
我不相信。如果您需要此信息,我建议在服务器上生成一个<meta>
元素,您可以使用JavaScript进行检查。
例如,使用PHP:
<meta id="request-method" name="request-method" content="<?php echo htmlentities($_SERVER['REQUEST_METHOD']); ?>">
<script type="text/javascript">
alert(document.getElementById("request-method").content);
</script>
答案 2 :(得分:7)
如果您需要此功能,请让服务器检测使用的方法,然后修改DOM中的某些内容,然后再将其读出。
答案 3 :(得分:6)
您可以查看该页面的推荐人:
document.referrer == document.URL
如果它是同一页面,则很可能是用户提交了表单。
当然这需要
答案 4 :(得分:1)
如果您使用xmlhttp调用并使用getResponseHeader
,您无法为正常的帖子/ get获取此信息答案 5 :(得分:0)
没有
JS 是一种客户端编程语言,这意味着一切都是客户端。但是,您可以使用 PHP 或任何服务器端语言来执行此操作。
如果您要使用 php,这是一个示例:
<?php
$foo = $_POST["fooRequest"]; # The actual response.
# do something with the foo variable like:
# echo "Response got: " + $foo;
?>
然后添加一些 HTML:
<form action="test.php" method="post">
<input type="text" class="foo" name="fooRequest" placeholder="Testing requests" />
<button type="submit" name="submitButton">Send</button>
</form>
上面的代码发送了一个 POST 请求,然后在 PHP 中我们得到了 'fooRequest'。但是,如果您要使用 JS,那是不可能的就像我说的客户端编程语言
我知道已经有答案了,但我只是想再解释一下。
答案 6 :(得分:-2)
尝试一下
function getURIQueryString(){
var params = {};
var qstring = window.location.toString().substring(window.location.toString().indexOf("?") + 1);
var regex = /([^&=]+)=([^&=]+)/g;
var m;
while (m = regex.exec(qstring)){
params[decodeURIComponent(m[1])] = decodeURIComponent(m[2])
}
return params
}
通常有效。例如,获取名为test的get参数。用这个
getURIQueryString().test
但是无法获得发帖请求