2017-10-04 25 views
-2

私の応答に「True」という値があります。私の$ httpの.thenにある私のdebuggeralertAccessGranted()はどうして呼び出されていないのですか?以下は私のスクリプトです:

app.controller("LoginController", function($scope, $http) { 
    $scope.btnText = "Enter"; 
    $scope.message = ""; 

$scope.login = function() { 
    $scope.btnText = "Please wait..."; 
    $scope.message = "We're logging you in."; 

    $http({ 
     method: 'post', 
     url: '/Login/Login', 
     data: $scope.LoginUser 
    }).then(function (response) { 
      debugger; 
      alert(response.data); 
      if (response.data == "True") { 
       AccessGranted(); 
      } else { 
      $scope.message = response.data; 
      $scope.btnText = "Enter"; 
     } 
    }, 
    function (error) { 
     $scope.message = 'Sending error: ' + error; 
    }); 
} 

$scope.AccessGranted = function() { 
    window.location.pathname("/Home/HomeIndex"); 
} 
}); 

これは私にHomeControllerに

public ActionResult HomeIndex() 
{ 
    var am = new AuditManager(); 
    var auditModel = new AuditModel() 
    { 
     AccountId = 0, 
     ActionDateTime = DateTime.Now, 
     ActionName = "Home", 
     ActionResult = "Redirected to Home" 
    }; 
    am.InsertAudit(auditModel); 

    return View("Index"); 
} 

である私が得る応答のための画像を参照してください。 enter image description here

+0

からチェック結果のために自分のhttpProviderを書き込むことができますか? – Phil

+0

私もそれをしました。混乱させて申し訳ありません。私はそれを戻すことができませんでした。私はそれを働かせようとしていたので、返信で.dataを削除して追加しようとしました。 .dataの有無にかかわらず、それでも私の警告、デバッガ、およびAccessGranted()メソッドは呼び出せませんでした。 – Ibanez1700

+0

私は自分のAccessGranted()メソッドで何かを呼び出すことを示しています。 – Ibanez1700

答えて

-1

私はあなたの代わりにこのようにコードすることをお勧めします成功するたびに、成功部分が呼び出されます。

$http.get('/path/').success(function (data) { 
     $scope.yourdata = data.data; 
     //console.log($scope.yourdata); 
    }).error(function (error){ 
//error part 
    }); 
+2

これは良い提案ですが、私が読んだものから古いバージョンの原因を使用する必要があります。 .successは既に推奨されていません。私が始まって以来、私は更新された角度を使用したいと思います。 – Ibanez1700

0

あなたのアプローチが間違っているように応答がアプリケーションであることを確認し、これを試してみてください

$http({ 
    method: 'post', 
    url: '/Login/Login', 
    data: $scope.LoginUser 
}) 
.then(function (response) { 
    console.log(response); 
}, 
function (error) { 
    console.log(error); 
}); 

とログまたはエラー

0

ようです/ jsonコンテンツタイプ、およびコンテンツはjsonです。

また、あなたの `HomeController`は何としなければならないどのようなサーバー

module.config(['$httpProvider', function ($httpProvider) { 
    ... 
+0

私は間違いをしていません。私の問題は私のChromeブラウザにあると思います。私のFirefoxでは、私のコードが動作します。ありがとう! – Ibanez1700

0

ため、ブラウザのコンソールをチェックし

$http({ 
    method: 'GET', 
    url: '/someUrl' 
}).then(function successCallback(response) { 
    // this callback will be called asynchronously 
    // when the response is available 
    }, function errorCallback(response) { 
    // called asynchronously if an error occurs 
    // or server returns response with an error status. 
    }); 
関連する問題