У меня есть ионное приложение (используется угловой js). Я пытаюсь позвонить на мой localserver (node express), используя restangular api (также попытался использовать $ http.get).
я установить базовый URL, как
RestangularProvider.setBaseUrl('https://localhost:3000');
Я перехватчик определенный добавить пользовательский заголовок:
interceptors.serialNumber = function (element, operation, what, url, headers, query) {
return {
headers: angular.extend({
'x-serialnumber': deviceStore.serialNumber
}, headers)
};
};
Я попытался следующий restangular вызов:
Restangular.one('Admin').get()
.then(function (data) {
console.log(data);
});
}, function (error) {
console.log(error);
});
и следующее использование вызова $ http:
$http({
method: 'GET',
url: 'https://localhost:3000/Admin',
headers: {
'Content-Type': 'application/json',
'x-serialnumber': '000000000'
}
}).then(function (data) {
console.log(data);
}, function (error) {
console.log(error);
});
Я всегда получаю условие ошибки, когда data = null | status = -1 | statusText = ""
Я не вижу ЛЮБОГО запроса на стороне сервера. Он немедленно переходит к делу об отказе.
Если я удаляю пользовательский заголовок, я вижу запросы на стороне сервера и получаю хороший ответ (т. Е. 200).
На стороне сервера я использую модуль cors: var app = express(); app.use (cors());
Все доказательства указывают на deviceStore.serialNumber, генерирующий исключение нулевого указателя (deviceStore не определено) – Andonaeus
Благодарим за отзыв Andonaeus. Я подтвердил, что он не является нулевым. Также в случае $ http я жестко кодирую значение заголовка (x-serialnumber) и получаю ту же ошибку, что и прямоугольный случай – brent
Если вы используете CORS, добавили ли вы пользовательский заголовок в список разрешенных заголовков? – Amy