【问题标题】:I send a PUT request, but receive GET我发送 PUT 请求,但收到 GET
【发布时间】:2019-02-19 14:38:03
【问题描述】:

我有一个使用 CodeIgniter Rest Extension 制作的 API... 运行良好,但今天开始失败。

我是来参加这个测试的:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

require_once(APPPATH . "/libraries/REST_Controller.php");
use Restserver\libraries\REST_Controller;

class Provincias extends REST_Controller {

    public function __construct() {
    header("Access-Control-Allow-Methods: GET");
        header("Access-Control-Allow-Headers: Content-Type, Content-Length, Accept-Encoding");
        header("Access-Control-Allow-Origin: *");
        parent::__construct();
        $this->load->database();
    }

    public function index_get($pId=0) {
    $response = array('status'=>'Get');
        $this->response($response);
    }

    public function index_put() {
    $response = array('status'=>'Put');
        $this->response($response);
    }

}

使用 Postman,如果我调用 get 会带来“GET”,如果调用 put 也会带来“GET”......这里有什么问题?有什么想法吗?

【问题讨论】:

  • header("Access-Control-Allow-Methods: GET");
  • " 如果我​​调用 put 也会带来 "GET""。 “带来”或“接收”GET 是什么意思?服务器只能响应您的初始请求。它无法向您发送不同的请求。如果您发送 PUT,它会一直保持为 PUT。响应不能使用不同的 HTTP 方法。您是否指的是您在响应中看到的标题信息,这很可能是由 line88 在上面的评论中突出显示的代码行产生的?请澄清并尽量详细说明正在发生的事情
  • P.S. “它开始失败” ...失败到底是怎么回事?再说一次,你看到了什么精确的结果?如果有错误或其他故障症状,请向我们描述。不要忘记我们无法读取您的屏幕、磁盘……或您的思想。谢谢。
  • @ADyson 我在帖子的结尾说... !
  • P.S.是的,我有点失望,你只是重复了你的原始陈述而没有澄清,你似乎在暗示我没有阅读你的帖子。对不起,如果我觉得很苛刻。但现在我更高兴你回答得更详细:-)

标签: php rest codeigniter


【解决方案1】:

我解决了它,但我不确定如何...我使用 http:// 而不是 https:// 调用 API 所以...我假设当您调用 'http' GET 方法...即使您发送 PUT 请求...它只会在我使用 https 调用它时发回 PUT 方法...

我不确定这是否正确,但是...也许可以帮助某人...

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 2015-12-12
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 1970-01-01
    • 2020-09-27
    相关资源
    最近更新 更多