【发布时间】:2017-08-14 12:02:47
【问题描述】:
我在 php codeigniter 中遇到问题,将数据从客户端发布到服务器,如下所示,在服务器中,我曾经通过 file_get_contents("php://input") 读取发布数据。它截断数据并仅显示前 50 个字符。在我以前的服务器上运行良好,现在我们已经更换了新服务器,之后它出现了问题。
var base_url = "http://www.mydomain.in/";
$.ajax({
url:base_url+ "index.php/api/transactions/status",
data: {"username":"logimax","passwd":"pass@2015","status":"Y"},
dataType:"JSON",
type:"POST",
success:function(data){
console.log(data);
},
error:function(error)
{
console.log(err);
}
});
萤火虫报告: 我们可以像下面这样在 firebug 中监控 post 数据和响应,
请求网址:http://www.mydomain.in/index.php/api/transactions/status 请求方法:POST
请求头:Accept:application/json, text/javascript,
表单数据 用户名:logimax 密码:pass@2015 状态:是的
回应: string(50) "用户名=l
在服务器中 服务器端代码:使用 codeigniter REST 服务。
public function transactionsByStatus_post()
{
var_dump(file_get_contents('php://input')); // Its getting truncate. Not fully displaying the values.
//Response sending as JSON Format
}
【问题讨论】:
-
问题是,你为什么要这样阅读你的输入?为什么不使用
$_POST? -
print_r($_POST);它还返回截断的值。输出看起来像 Array ( [username]
-
然后,检查您的 php.ini 选项
max_post_size并将其增加到足够公平; -
我想这个并增加了这个也已经 post_max_size = 256M
-
在不使用ajax的情况下正常发布请求会发生什么?
标签: php codeigniter file-get-contents