猿问

file_get_contents(“php:// input”)或$ HTTP_RAW_POST

file_get_contents(“php:// input”)或$ HTTP_RAW_POST_DATA,哪一个更好地获取JSON请求的主体?

file_get_contents("php://input")或者$HTTP_RAW_POST_DATA- 哪一个更好地获得JSON请求的主体?

在使用客户端时,我应该使用哪种请求类型(GETPOST)来发送JSON数据XmlHTTPRequest

我的问题来自这个答案: 如何使用curl将JSON发布到PHP

从那个回答引用:

从协议的角度来看file_get_contents("php://input")实际上更正确,因为你还没有真正处理http多部分表单数据。


冉冉说
浏览 1029回答 3
3回答

鸿蒙传说

file_get_contents(php:// input) - 获取原始POST数据,你需要在编写API时使用它,并且需要XML / JSON / ...输入,这些输入无法通过PHP解码为$ _POST&nbsp;一些例子:通过邮寄JSON字符串发送<input&nbsp;type="button"&nbsp;value=&nbsp;"click"&nbsp;onclick="fn()"><script> &nbsp;function&nbsp;fn(){ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;js_obj&nbsp;=&nbsp;{plugin:&nbsp;'jquery-json',&nbsp;version:&nbsp;2.3}; &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;encoded&nbsp;=&nbsp;JSON.stringify(&nbsp;js_obj&nbsp;);var&nbsp;data=&nbsp;encoded &nbsp;&nbsp;&nbsp;&nbsp;$.ajax({ &nbsp;&nbsp;type:&nbsp;"POST", &nbsp;&nbsp;url:&nbsp;'1.php', &nbsp;&nbsp;data:&nbsp;data, &nbsp;&nbsp;success:&nbsp;function(data){ &nbsp;&nbsp;&nbsp;&nbsp;console.log(data); &nbsp;&nbsp;}}); &nbsp;&nbsp;&nbsp;&nbsp;}</script>1.PHP//print_r($_POST);&nbsp;//empty!!!&nbsp;don't&nbsp;work&nbsp;...&nbsp; var_dump(&nbsp;file_get_contents('php://input'));
随时随地看视频慕课网APP
我要回答