Impossible to use AJAX on PHP 5.6 |
So I have a PHP version that is affected to the bug of "always_populate_raw_post_data"...
In few words if i set headers after I display content, my app just return an error and stop working. I need to get some data from ajax, but the problem is that the controller where ajax suppose to work, extend CI_Controller that set some headers, This return me an error: Code: <b>Deprecated</b>: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in How can I solve it? I should find a way to prevent this header to be set... Thanks in advantage..
(12-21-2016, 07:00 PM)ivantcholakov Wrote: Upgrade CodeIgniter. Hi! Thanks for your reply, I'm actually using the last version of CodeIgniter (3.1.2). Problem is on PHP but I can't update it. Is it possible that in CodeIgniter there is no way to use AJAX without passing for a CI_Controller? Or without setting headers by default from the controller, eventually..
Hm. Switch temporarily CodeIgniter to 'production' mode to test whether this message disappears. Then turn back to 'development' to see this message again. Looks like there is a wrong PHP configuration setting, always_populate_raw_post_data - check what is its value. See how the following information might help:
https://github.com/bcit-ci/CodeIgniter/issues/3254 https://github.com/piwik/piwik/issues/6465 (12-22-2016, 10:46 AM)ivantcholakov Wrote: Hm. Switch temporarily CodeIgniter to 'production' mode to test whether this message disappears. Then turn back to 'development' to see this message again. Looks like there is a wrong PHP configuration setting, always_populate_raw_post_data - check what is its value. See how the following information might help: Thanks! I checked them and I know the problem is on the PHP configuration. Problem here is again that I can't modify it, the admin is very "conservative" and doesn't want to modify the global setup of environment since other applications are working fine. As explained here http://stackoverflow.com/questions/28278...m-backbone "Some claim it happens when calling Code: header() And actually when i create my controller, extends from CI_Controller, there are new headers set automatically. I wish then try to find a solution to avoid this header to be sent..
.htaccess file try adding this:
Code: <IfModule mod_php5.c> What did you Try? What did you Get? What did you Expect?
Joined CodeIgniter Community 2009. ( Skype: insitfx )
(12-23-2016, 05:40 AM)InsiteFX Wrote: .htaccess file try adding this: The server use Fastcgi, and I don't even have override permission set on my webdir. Sadly. Anyway, the solution that could work for me is: prevent the controller to add this header or remove them, if it's possibile. Other's AJAX applications are working but mine, built with CodeIgniter, doesn't. I tried to find where this headers are set on the system/ directory to remove them, trying to find a way to let CodeIgniter understand that I don't want headers if the controller has name "Ajax" but I couldn't find anything.
Ok I found my solution, for everyone interested I just change my AJAX request from POST to GET.. Cause actually I didn't even send any data.. My error, I suppose
Anyway, with GET it works anyway, without need to change settings on apache config. Thanks everybody for the help
Then you need to watch about browser caching for AJAX GET, disable caching for certain requests when the logic requires.
Code: $.ajax({ |
Welcome Guest, Not a member yet? Register Sign In |