2016-11-02 2 views
-1

로컬 서버에서 완벽하게 실행되는 MVC 웹 사이트를 vb.NET에서 만들었습니다. Visual Studio의 게시 메서드를 사용하여 원격 서버에 게시 했으므로 필요한 모든 파일이 원격 서버에 있어야합니다. 웹 호스팅 서비스는 MVC 4 및 5를 실행합니다. 원격 서버에서 페이지를 실행하면 AngularJS 코드가 VB 컨트롤러를 찾지 못합니다. AngularJS 및 서비스에mvc 웹 사이트가 프로덕션 서버에서 실행되지 않음

섹션 코드 :

getPasswords(); 
// get from passwordsController.vb 
function getPasswords() { 
    passwordService.getPasswords() 
     .success(function (passwords) { 
      $scope.passwords = passwords; 
     }) 
     .error(function (error) { 
      $scope.status = 'Error in getting passwords: ' + error.message; 
     }); 
}; 

VB는 제어 코드는 :

' GET: api/passwords 
Function Getpasswords() As IQueryable(Of password) 
    Return db.passwords 
End Function 

관련 코드 인 AngularJS와 컨트롤러 섹션

this.getPasswords = function() { 
    return $http.get("api/passwords"); 
}; 

줄 :

return $http.get("api/passwords"); 

은 VB 컨트롤러의 Getpasswords 함수와 연결되지 않습니다.

도움을 주시면 감사하겠습니다.

+0

[ask]를 읽으십시오. _ "AngularJS 코드가 실패했습니다"_ 충분한 설명이 아닙니다. 실제 오류 메시지 또는 일어난 일을 포함시키고 이에 대한 조사를 표시하십시오. – CodeCaster

+0

정확한 오류는 무엇입니까? –

답변

1

대부분 URL 문제 일 수 있습니다. 당신은 api/passwords이라고 부르는데, 이것은베이스 패스가 플레이되는 곳과 관계가 있습니다. 예를 들어 http://example.com/foo/bar과 같이 이미 URL을 사용하고 있다면 실제로 요청한 URL은 http://example.com/foo/bar/api/passwords이며 이는 거의 틀린 것입니다. 항상 /api/passwords과 같은 경로를 사용해야합니다. 앞의 /은 URL이 도메인 상대 주소가되도록합니다 (예 : http://example.com/api/passwords).

+0

문제가 해결되었습니다. 크리스 프랫 (Chris Pratt)이 제안했듯이 그것은 경로 문제였다. –

관련 문제