I just updated on the new version on the Angular + Ionic and method for processing remote request stopped working and returns always 404 response.
Request is
The (from cache)
in response status suggests that your browser cached bad reply and is playing it back to you. Try clearing cache or use any cache busting techniques.
I struggled for quite some time with this, but the trick was to install the plugin, configure the CSP in index.html and then remove the plugin an adding it again.
Hum, I just ran into the same problem: the header suggests it has been fetched from cache
... But actually, it seems it has to do with a new security policy in new versions of Cordova.
Here's how I solved it:
I installed Cordova's whitelist plugin :
cordova plugin add cordova-plugin-whitelist
Then, add your content policy in your index.html
as a meta tag (using your own host or '*' for accepting all requests) :
<meta http-equiv="Content-Security-Policy" content="default-src 'self' yourhost.com ws://localhost:35729 data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *;script-src 'self' localhost:35729 'unsafe-eval' 'unsafe-inline';">
default-src
is used for general requests; the ws://localhost:35729
host is used for live-reload in ionic serve
.
script-src
is used for secure script execution
unsafe-inline
and unsafe-eval
are required in order for angular to work properly.
data: gap: https://ssl.gstatic.com
is only used on iOS.
self
means the current host of the index.html
file.
You'll have to add your own in order for your requests to work. Don't forget to add the protocol and the port if they're non-standard
You can skip the meta tag if you don't want it, but you'll get a lot of warnings from the whitelist plugin.
More info on how to configure this in the plugin's readme.
Then rebuild your app, and it should work again.
I also had this problem and searched a lot then finally... i removed the whitelist plugin:
cordova plugin remove cordova-plugin-whitelist
then renstalled it
cordova plugin add cordova-plugin-whitelist
It helped me and hope it solve your problem