2016-09-11 4 views
0

프로필을 업데이트하기 위해 API를 사용하고 있습니다. 요청 매개 변수에 닉네임, 전자 메일, 전화 또는 암호를 추가하여 각각 데이터베이스가 업데이트됩니다.AngularJS의 동적 HTTP 게시 매개 변수 이름

은 내가 닉 이름을 업데이트 할 때 예를 들어 사용자의 선택에 따라 이러한 때마다 중 하나 전달할 :

{ 
"nickname": "alifa", 
"device_id": "chrome", 
"device_model": "browser", 
"device_os": "angularJS" 
} 

또는 이메일 갱신 :

{ 
"email": "[email protected]", 
"device_id": "chrome", 
"device_model": "browser", 
"device_os": "angularJS" 
} 

을 내가하고 싶은 이것은 속성 이름과 속성 값을 함수에 전달하여 객체를 만들고 http 게시물 요청을 보냅니다.

this.updateDetails = function(dataName, dataValue){ 
    Loader.global.show(); 
    var data = $.param({ 
    device_id: app.device_id, 
    device_os: app.device_os, 
    device_model: app.device_model 
    }); 
    data[dataName] = dataValue; 
    console.log(data); 
    return $http.post(app.baseUrl + 'profile/' , data).success(function(){ 
    Loader.global.hide(); 
    }).error(function(){ 
    Loader.global.hide(); 
    }) 
} 

하지만이 서버에 보내는 것은 그냥 이렇게 어떤 가능한 방법은

Sent data

있습니까?

답변

1

param에 전달한 객체를 수정해야합니다. param에서 나온 문자열에 속성을 추가하는 것은 의미가 없습니다.

var data = { 
    device_id: app.device_id, 
    device_os: app.device_os, 
    device_model: app.device_model 
}; 
data[dataName] = dataValue; 
var encoded_data = $.param(data);