file_get_contents(php:// input)-获取原始POST数据,并且在编写API并需要XML / JSON / ...时需要使用此数据,PHP无法将这些输入解码为$ _POST,
例如:
通过发布JSON字符串发送
<input type="button" value= "click" onclick="fn()">
<script>
function fn(){
var js_obj = {plugin: 'jquery-json', version: 2.3};
var encoded = JSON.stringify( js_obj );
var data= encoded
$.ajax({
type: "POST",
url: '1.php',
data: data,
success: function(data){
console.log(data);
}
});
}
</script>
1.php
//print_r($_POST); //empty!!! don't work ...
var_dump( file_get_contents('php://input'));
$HTTP_RAW_POST_DATA已被认为已弃用,并且php://input可以重用。