另一个cnblogs博客 常用汇总

php$GLOBALS['HTTP_RAW_POST_DATA']报错一例

下载下来的代码提示HTTP_RAW_POST_DATA已经废弃,不再支持,这个报错又引起header(因为用了session)之前输出信息报错。

查半天查不到原因。

我找了php5.6不支持HTTP_RAW_POST_DATA,不知道php7,php8更会报什么错呢

开始以为某php文件,引用了HTTP_RAW_POST_DATA,引起的,不是的,
访问任意文件都报错。但是明明其他访问又正常,最后锁定到时ajax请求,并且类型是Post触发的,
遍找php总文件找不到,与HTTP_RAW_POST_DATA相关的都注释了,都不行。

只好好好了解HTTP_RAW_POST_DATA是个什么东西,好的,找到了,是在POST且传输信息类型不明的情况启用的,
所以form请求不触发,ajax默认是没有传输信息类型,说实话,用了好久了,也有点印象,但是没有联系起来,对信息类型的了解还是不够,比较模糊
当然还有就是jquery当有数据会自动添加类型,为空才报错,当然手动添加类型也可以。

解决办法
最简单的,ajax 改成get,本来就没数据

其他

ajax 添加类型

ajax 添加数据

php 关闭HTTP_RAW_POST_DATA

 

posted on 2024-05-24 19:22  webkb  阅读(8)  评论(0编辑  收藏  举报