我有一个离子应用程序(使用角度js)。我正在尝试使用restangular API(也尝试使用$ http.get)调用我的localserver(node express)。
我设定为
RestangularProvider.setBaseUrl('https://localhost:3000');
我已拦截定义添加自定义首部的基本URL:
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);
});
我总是得到错误条件where data = null |状态= -1 | statusText =“”
我在服务器端看不到任何请求。它立即进入失败案例。
如果我删除自定义标题,我会在服务器端看到请求并获得很好的响应(即200)。
在服务器端,我使用了cors模块: var app = express(); app.use(cors());
所有证据指向deviceStore.serialNumber引发空指针异常(deviceStore未定义) – Andonaeus
感谢您对Andonaeus的回应。我证实它不是null。同样,$ http的情况下我硬编码头值(x-serialnumber),并得到与矩形案例相同的错误 – brent
如果您使用的是CORS,您是否已将自定义头添加到允许的头列表中? – Amy