@tervavau wrote:
I am new to ionic, angular ...and unfortunately also to http.
I am trying to write a mobile app that fetches some data from server with https POST. I have a key and token for testing, and when I test the server with Chrome's Postman the http post works like a charm and I get the response I need.
But when I'm trying the same with my test app running in Chrome browser it fails due to OPTIONS and PREFLIGHT.
I have installed "Allow-Control-Allow-Origin" plugin for Chrome so I don't get CORS errors anymore.This is what Postman sends to the server:
POST /somePath/GetResponseStatus HTTP/1.1
Host: some-server.com
mykey: my-cryptic-token
content-type: application/json
accept: application/json
Cache-Control: no-cache
Postman-Token: postmans-cryptic-tokenThis is how I do https post in ionic:
angular.module('myApp.user', []) .factory('User', function($http){ var token = 'my-cryptic-token' return { GetResponse: function() { var config = { headers: { 'mykey': token, 'content-type': 'application/json', 'accept': 'application/json' } } return $http.post('https://some-server.com/somePath/GetResponseStatus', {}, config) .then(function(response) { return response.data }) } } })
And this is what I get:
ionic.bundle.js:24977 OPTIONS https://some-server.com/somePath/GetResponseStatus
XMLHttpRequest cannot load https://some-server.com/somePath/GetResponseStatus. Response for preflight has invalid HTTP status code 401I wonder if I am setting http headers correctly or not?
Clearly Postman works ok but how can I do the same trick with ionic?I am using ionic CLI 1.7.14
Posts: 1
Participants: 1