AngularJSを介してJSONを返す$ http.postを使用してWeb 2.0 API呼び出しを試みていますが、これは奇妙なことに、1時間前に動作しました私は何も変えていない。アプリケーションは他のすべてのブラウザで動作し続けますが、Edgeでは失敗します。
var _login = function (loginData) {
var data = "";
var grant = [insert data to authorise user on server];
var deferred = $q.defer();
$http.post(serviceBase + 'token', data, { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).success(function (response) {
_userlogin(response);
deferred.resolve(response);
}).error(function (err, status) {
console.log(err + " " + status);
_logOut();
deferred.reject(err);
});
return deferred.promise;
};
私は、デバッグから、私はどこアプリケーションつまずく、これがあることを知って、それはセキュリティ情報だが、機能は同じである必要がありますので、そこにいくつかの情報を取らなければならなかった、そうしました。私はまた渡されたlogindataが有効であることを知っています。同じ呼び出しをRESTクライアントで同じ呼び出しを試してみましたが、同じ呼び出しの前に同じ呼び出しを行う前に、他の主要なブラウザ(IE奇妙に)。その呼び出しが実行される
、フロントエンドの角度は、次を行います。それはAPI呼び出しから返されていないので、
$scope.authUser = function (username, password) {
var loginData = { userName: username, password: password, useRefreshTokens: login.useRefreshTokens}
authService.login(loginData).then(function (response) {
console.log(response);
sessionStorage.setItem("status", "User Logged In As: ");
sessionStorage.setItem("username", username);
global.template = "templates/dashboard.html";
login.password = "";
},
function (err) {
console.log(err);
login.message = err.error_description;
$("#passwordError").modal();
});
};
アプリケーションは、login.message = err.error_description;
で停止します。エラーは次のとおりです。ネットワークエラー0x2efd、エラー00002efdのために操作を完了できませんでした。未定義またはnull参照のプロパティ 'error_description'を取得できません。
編集:言及を忘れてしまった - Fiddlerが開いてトラフィックをキャプチャしているときにアプリケーションが動作します。それはもっとも不思議な部分です。
コードからすべての 'console.log'を削除してください。時々、IEの問題を解決します。 – Mistalis
まだ壊れていません - 2つのエラーがあります:未定義またはnull参照とネットワークエラー0x2efdのプロパティ 'error_description'を取得できません。エラー00002efdのために操作を完了できませんでした。 –
私は確かにあなたのヘッダーに接続されている問題はありません。単にapplication/jsonに変更してチェックしてください(私はまだここに問題があることを確かめてください)。 – Vitalii