【问题标题】:null answer with POST data CodeIgniter 2.1.3POST 数据 CodeIgniter 2.1.3 的空答案
【发布时间】:2015-04-21 22:46:03
【问题描述】:

我有这个问题。

我用这句话在 CodeIgniter 1.7.2 中获取帖子信息,它工作正常

function function1(){
    $input_data = json_decode(trim(file_get_contents('php://input')), true);
    $info = str_replace( '"', '', json_encode($input_data['info']));
}

我的输入 json 是这样的:

{
    "info":"hello!"
}

但是当我在 CodeIgniter 2.1.3 中使用这些相同的行时,它不起作用。我使用了echo $info,但我的答案是null。任何人都可以帮助我吗?错误在哪里?

【问题讨论】:

    标签: php json codeigniter file-get-contents


    【解决方案1】:

    此行为与 CI 无关。这是大多数 PHP 概念。 你的错误可能是你试图访问不存在的东西。

    使用file_get_contents('php://input') 有什么意义?你不能只使用$this->input->post()uploadclass 吗? (在 CI 上下文中)?

    不管怎样,检查一下你在file_get_contents()var_dumping 中得到了什么。我很确定您的 NULL 来自 $input_data 赋值语句,因此您一开始以错误的方式获取 JSON。

    【讨论】:

    • 原因是因为我将控制器用作Web服务,所以在一个帖子中我看到它在以前的工作中可以工作。
    • 好的,现在你把我放在上下文中。如果你var_dump(file_get_contents('php://input')),你会得到什么??
    • 使用 var_dump(file_get_contents('php://input'));你得到了这个 -> string(0) ""
    • 然后就是你得到的NULLjson_decode 在一个空字符串上)。问题在于输入。检查这个:stackoverflow.com/questions/2731297/…
    【解决方案2】:

    我将控制器用作 WebService,它在以前的工作中运行良好。所以,我用这个测试了

    function test(){
       $m = $this->input->post('key');
       echo $m;     
    }
    

    我正在发送一个 POST JSON 数据,如下所示:

    {
    'key':'hello!"'
    }
    

    现在我什么也没收到。其他的?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-04
      • 2021-07-06
      • 1970-01-01
      • 2012-11-08
      • 1970-01-01
      • 2021-05-05
      相关资源
      最近更新 更多