在表单上使用php和POST,但request_method说这是一个GET

时间:2011-03-18 21:50:03

标签: php post get

所以我有这个表单,我正在提交一个echos $ _SERVER ['REQUEST_METHOD']的php脚本。我不知道为什么,但即使我在表单中指定POST方法,它总是与GET相呼应。为什么是这样?我做错了什么?

<form action="location.php" method="POST">
<table>
    <tr>
        <td>name</td>
        <td><input type="text" name="name"></td>
    </tr>
    <tr>
        <td>address</td>
        <td><input type="text" name="address"></td>
    </tr>
    <tr>
        <td>lat</td>
        <td><input type="text" name="lat"></td>
    </tr>
    <tr>
        <td>lng</td>
        <td><input type="text" name="lng"></td>
    </tr>
    <tr>
        <td>user</td>
        <td><input type="text" name="user"></td>
    </tr>
    <tr>
        <td>type</td>
        <td><input type="text" name="type"></td>
    </tr>
    <tr>
        <td>method</td>
        <td><input type="text" name="methoda"></td>
    </tr>
    <tr>

        <td><input type="submit" name="submit"></td>
    </tr>
 </table>
</form>

1 个答案:

答案 0 :(得分:2)

因为我花了无数个小时试图修复与PHP中“REQUST_METHOD”错误相关的错误并且没有在网上找到任何有用的内容,这是我对此问题的报告:Chrome似乎在版本30.0中有错误。 1599.101

我的jquery测试代码是:

$.ajax({
  type: "POST",
  url: '../Server/test.php',
  data: {data:"data"}
});
$.ajax({
  type: "PUT",
  url: '../Server/test.php',
  data: {data:"data"}
});
$.ajax({
  type: "GET",
  url: '../Server/test.php',
  data: {data:"data"}
});

PHP:

<?
echo $_SERVER['REQUEST_METHOD'];
?>

在Chrome中,响应是PUT,PUT,GET 在Opera中按预期POST,PUT,GET