私はイオン性のアプリケーションを持っています(角度jを使います)。私は、私のlocalserver(ノードエクスプレス)を呼び出すために、矩形のapi($ http.getを使って試してみました)を使っています。私は、次のrestangularコールを試してみました
interceptors.serialNumber = function (element, operation, what, url, headers, query) {
return {
headers: angular.extend({
'x-serialnumber': deviceStore.serialNumber
}, headers)
};
};
:
Restangular.one('Admin').get()
.then(function (data) {
console.log(data);
});
}, function (error) {
console.log(error);
});
は、私はインターセプタがカスタムヘッダーを追加するために定義されている
RestangularProvider.setBaseUrl('https://localhost:3000');
としてベースURLを設定します$ 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 |ステータス= -1 | statusText = ""
サーバー側ではどのリクエストも表示されません。それは直ちに失敗に終わる。
カスタムヘッダーを削除すると、サーバー側でリクエストが表示され、良好な応答(200)が得られます。
私はcorsモジュールを使用しています: var app = express(); app.use(cors());
$http({
method: 'GET',
url: 'https://example.com/DUMMY'
}).then(function successCallback(response) {
$http({
method: 'GET',
url: 'https://example.com',
headers: {
'x-serialnumber': deviceStore.serialNumber
}
}).then(function successCallback(response) {
console.log('SUCCESS');
}, function errorCallback(response) {
console.log('FAILURE');
});
}, function errorCallback(response) {
console.log('FAILURE');
});
は本質的に、私はNOカスタムヘッダーと「予備」GETリクエストを送信するために必要な:
すべての証拠は、deviceStore.serialNumberがnullポインタ例外をスローすることを示しています(deviceStoreは未定義です) – Andonaeus
応答Andonaeusありがとうございます。私はそれがnullではないことを確認した。また、$ httpの場合、ヘッダーの値(x-serialnumber)をハードコードし、長方形の場合と同じエラーを返します – brent
CORSを使用している場合、カスタムヘッダーを許可されたヘッダーのリストに追加しましたか? – Amy