2017-12-27 7 views
0

Angular js 웹 응용 프로그램에 WCF Rest Service를 사용하고 있습니다. 먼저 데이터베이스의 사용자 이름을 확인하고 있습니다. 사용자 이름이 존재하면 각도 js 웹 응용 프로그램에 메시지를 표시하고 싶습니다. 사용자 이름이 존재합니다. 다른 사용자 이름을 선택하십시오. 사용자 이름이 존재하지 않으면 데이터베이스에 레코드를 삽입하려고합니다. 그러나 문제는 메시지를 표시하지 않습니다. 사용자 이름이 예상 메시지를 표시하지 않고 다음 오류가 발생했습니다.Angular js 웹 응용 프로그램이 예상 메시지를 반환하지 못했습니다.

서버가 요청을 처리하는 중 오류가 발생했습니다. 예외 메시지는 '비 정적 메소드가 대상을 필요로합니다.'입니다. 자세한 내용은 서버 로그를 참조하십시오. 예외 스택 추적은 다음과 같습니다.

여기가 방법입니다. 여기

public bool RegisterUserEncryptPassword(tblUser user) 
    { 
     using (HalifaxDatabaseEntities context = new HalifaxDatabaseEntities()) 
     { 
      var query = (from x in context.tblUsers 
         where x.Username == user.Username 
         select x).SingleOrDefault(); 
      if (query != null) 
      { 
       return true; 

      } 
      else 
      { 
       tblUser createUser = new tblUser(); 

       createUser.Username = user.Username; 
       createUser.Password = Utility.Encrypt(user.Password); 
       createUser.Email = user.Email; 
       ctx.tblUsers.Add(createUser); 
       ctx.SaveChanges(); 


      } 

     } 
     return false; 
    } 

내가 application.When을 실행할 때 다음
var app = angular.module("WebClientModule", []) 

    .controller('Web_Client_Controller', ["$scope", 'myService', function ($scope, myService) { 


    $scope.OperType = 1; 
     $scope.createuser = function() { 
      var User = { 
       Username: $scope.Username, 
       Password: $scope.Password, 
       Email: $scope.Email 

      }; 
      if ($scope.OperType === 1) { 
       var promisePost = myService.post(User); 
       promisePost.then(function (pl) { 
        $scope.Id = pl.data.Id; 
        window.location.href = "/Login/Index"; 

        ClearModels(); 
       }, function (err) { 
        $scope.msg = "Password Incorrect or username is exit !";**//Always Hit on This line** 

        console.log("Some error Occured" + err); 
       }); 
      } 

    }]); 

app.service("myService", function ($http) { 
    //Create new record 
    this.post = function (User) { 
     var request = $http({ 
      method: "post", 
      url: "http://localhost:52098/HalifaxIISService.svc/RegisterUserEncryptPassword", 
      data: JSON.stringify(User) 
     }); 
     return request; 

    }; 


}) 

내가 표시 할 새 레코드 II를 삽입하려고 스크린 샷입니다 .. 내 스크립트 코드

enter image description here

여기에 네트워크 탭에 오류 메시지가 표시됩니다.

enter image description here

+0

이 코드를 관련 코드만으로 축소하고 문제를 재현하는 [mcve]로 만드십시오. – charlietfl

+0

'$ http'의'success'를 처리하고 사용자 이름이 중복되면 거기에 메시지를 표시하십시오. 특정 사용자가 삽입하거나 복제 한 아약스 또는 ... – Aria

+0

내 코드를 편집하십시오 – Mohammad

답변

0

당신은 라벨이나 스팬과 같은 html 요소에 @를 scope.msg을 결합해야합니다. 이 html 요소는 숨겨진 상태의 DOM 내부에로드되어야합니다. 그냥 ng-show로 보여줘야합니다.

관련 문제