浏览器将HTTP POST请求作为GET请求发送

时间:2015-07-09 09:35:54

标签: php codeigniter

我有一个使用CodeIgniter编写的PHP应用程序。我面临着一个关于HTTP请求的奇怪问题。我注意到chrome开发人员工具将HTTP请求方法的结果显示为404 Not found,但我可以从应用程序接收响应。另一个问题和我的主要问题是HTTP post请求是作为GET请求发送的,但它们是作为GET方法发送的。这是发送请求的HTML表单:

<form name="form" id="form" action="login" class="form-horizontal" method="POST">
    //                          
</form>

如果我通过打印$_SERVER变量的值来调试请求,我可以看到请求方法是GET

'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8)
'REQUEST_METHOD' => string 'GET' (length=3)
'QUERY_STRING' => string '' (length=0)

还有另外两个选项,我不知道它们是什么意思:

'REDIRECT_REQUEST_METHOD' => string 'POST' (length=4)
'REDIRECT_STATUS' => string '404' (length=3)

我在Windows 8.1和CodeIgniter上使用Wamp。

1 个答案:

答案 0 :(得分:0)

<form action="<?php echo base_url()?>index.php/login/function_name" method="post">
    <input  type="text" name="name"> 
    <input  type="email" name="email" > 
   <input  type="submit" name="submit" value="Submit" > //Important, this only submit the form 
</form

login控制器

public function function_name()
    {
        $name= $_POST['name']
        $email= $_POST['email']

        echo 'Name is :'.$name. 'and E-mail is : '.$email;
    }