2014-07-11 3 views
0

내 페이지에는 두 개의 컨테이너가 있습니다. 첫 번째 컨테이너에서 항목 목록을 표시하고 해당 항목의 작업이 두 번째 컨테이너에 표시됩니다.전체 페이지를 다시로드하지 않으려면 어떻게해야하나요?

런타임에 "항목 만들기"라는 링크를 통해 첫 번째 컨테이너에 새 항목을 추가 할 수있는 옵션이 있습니다. 내가 런타임에 항목을 추가하려면 다음 $의 HTTP 호출을 사용하고

,

$scope.createItem = function() { 
    $http({method:"POST", 
     url:"/sample/addItem" 
    }).success(function(data) {      
     window.location.href = "/sample/pages/items.html"; 
    })    
}; 

나는 "항목을 만들"새 항목이 동적으로 첫번째 용기하지만, 전체 항목에 추가 될 예정입니다 링크를 클릭 할 때마다 .html 페이지가 다시로드됩니다.

전체 페이지를 다시로드하지 않아야합니다. 링크를 클릭하면 첫 번째 컨테이너 만 다시로드해야합니다.

+1

AJAX 호출을 사용하는 방법이 아닙니다. 새 페이지를 리디렉션하지 말고 JQuery를 사용하여 현재 페이지를 수정하여 DOM에서 데이터를 추가/제거해야합니다. – Sugar

+1

'window.location.href'는 페이지를 다시로드합니다. –

+0

나중에 사용할 수 있지만 그 외에는 window.location.href 대신 페이지를 리디렉션하여 전체 페이지로드를 방지 할 수 있습니다. 하지만 items.html 경우에만 컨테이너를 모두 .... 새 항목을 추가 할 때 첫 번째 컨테이너 동일한 items.html 페이지에서 다시로드해야합니다 – Ninja

답변

0

jQuery는 컨테이너를 부분 적재하는 데 도움이됩니다. 시도해보십시오.

http://api.jquery.com/load/ 

.load()는 지정된 컨테이너 만 응답으로로드하는 데 도움이됩니다.

function myCtrl($scope, $http,$location){ 
$scope.createItem = function() { 
    $http({method:"POST", 
      url:"/sample/addItem" 
     }).success(function(data) {      
      $location.path = "/items"; 
     })    
    }; 
} 

경로 항목이 경로 제공 업체에 등록해야합니다

$("#result").load("ajax/test.html"); 
0

당신이 그 목적을 위해 $ 위치을 사용할 수 있습니다, 같이 location.href을 window.use하지 마십시오 .

+0

유선 통신사가 나와 함께 경로 제공 업체와 어떻게해야합니까 ?? – Ninja

+0

각도 앱에서 경로를 어떻게 구성하고 있습니까?, 게시 할 수 있습니까? –

관련 문제