2017-02-22 3 views
0

저는 포럼과 AngularJS에서 매우 새로 왔습니다.angularJS를 사용하여 함수 만들기

REST 서버에 요청을 보내려고합니다. 나는 코드 때문에 일부 직렬화 물건의 서버 측에서 제대로 작동하지 않는

$scope.submitForm = function() { 
    var url = 'http://localhost:8080/Server/config/start'; 

    var request = $http({ 
    method: 'POST', 
    url: url, 
    params: { 
     name: 'test' 
    } 
    }); 

    request.success(
    function() { 
     //alert('it succeeded'); 
    } 
); 

    request.error(
    function() { 
     // alert('it didnt work'); 
    } 
); 

}; 

이 기능을 사용했다. 나는 내 코드로이 기능을 사용하는 방법을 잘 모르겠습니다 대신

$http({ 
    method: 'POST', 
    url: url, 
    headers: { 
    'Content-Type': 'application/x-www-form-urlencoded' 
    }, 
    transformRequest: function(obj) { 
    var str = []; 
    for (var p in obj) 
     str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
    return str.join("&"); 
    }, 
    data: { 
    username: $scope.userName, 
    password: $scope.password 
    } 
}).success(function() {}); 

이 기능을 사용하여 제안 포럼에서 게시물을 발견,이 코드

$scope.submitForm = function() { 
    var url = 'http://localhost:8080/Server/config/start'; 

    var request = $http({ 
     method: 'POST', 
     url: url, 
     headers: { 
     'Content-Type': 'application/x-www-form-urlencoded' 
     }, 
     transformRequest: function(obj) { 
     var str = []; 
     for (var p in obj) 
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
     return str.join("&"); 
     }, 
     data: { 
     name: 'test' 
     } 
    }).success(function() {}); 

을 시도하지만 });으로 인해 오류가 발생합니다. 누군가 코드를 형식화하고 수정하도록 도와 줄 수 있습니까?

+0

서버 측에서 예상하는 데이터 형식 또는 원시 데이터는 무엇입니까? –

+0

'$ scope.submitForm' 함수를 닫는 중괄호를 추가하십시오. – Fissio

+0

양식 데이터가 있다고 생각합니다. json이 아니야. 저지에 @FormParam을 사용하고 있습니다. –

답변

0
$scope.submitForm = function() { 
    var url = 'http://localhost:8080/Server/config/start'; 

    var request = $http({ 
    method: 'POST', 
    url: url, 
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
    transformRequest: function(obj) { 
     var str = []; 
     for(var p in obj) 
     str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p])); 
     return str.join("&"); 
    }, 
    data: {name: 'test'}}).success(function() {}); 
} // you need a '}' here. 

또한 $ http의 게시 방법을이 방법으로 시도 할 수 있습니다.

$http.post('url', data) 
    .success(function(data, status, headers) { //success callback }) 
    .error(function(data, status, headers) { //error callback }); 
관련 문제