AngularJS Sends OPTIONS request instead of POST
In S3 headers in CORS add header:
Access-Control-Allow-Origin: *
Angular is sending a preflight request, so if you can go back to your first plan, do that!
Server will check either you should be allow to post some data on server itself or not as per the
cross origin resource sharing policy
that is quite normal that you are getting options request.your ApI server should have configured to allow request from your domain to work correctly.