2016-10-24 3 views
0

angularjs HTTP 포스트 서비스를 사용하여 여러 매개 변수를 보내려고합니다. 이 내 URL이 내 프로젝트에 사용angularjs에 여러 매개 변수가있는 POST를 보내는 방법은 무엇입니까?

function getListObject(table,language) { 
var url=API_URL+table+"?"; 
var companyTemp={company_id:40743}; 
var languageTemp={language_id:language} 
var cm = "list"; 
var dtJSON = JSON.stringify({table: JSON.parse(JSON.stringify()),company:JSON.parse(JSON.stringify(companyTemp)),languages: JSON.parse(JSON.stringify(languageTemp))}); 
var data = $.param({ 
    cm: cm, 
    dt: dtJSON 
}); 
return $http.post(url+data).then(handleSuccess, handleError('Error get list'));} 

예를 게시물을 보낼 내 기능입니다 : 로컬 호스트 : 8080/API/제품 cm = 목록 & DT = {제품 : {}, 기업 : {COMPANY_ID : 40743}, 언어 : {LANGUAGE_ID : "엉"}}

나 기능 이상 사용, 나는 쓰기 : Service.getListObject ("제품", "EN").

var dtJSON = JSON.stringify({table: JSON.parse(JSON.stringify(companyTemp)),languages: JSON.parse(JSON.stringify(languageTemp))}); 

내가이 줄 dtJSON 결과 싶지는 다음과 같습니다 : 나는이 라인에 문제가

"{"products":{},"company":{"company_id":40743},"languages":{"language_id":"en"}}" 

하지만이 나타납니다

"{"table":{},"company":{"company_id":40743},"languages":{"language_id":"en"}}" 

어떻게이 문제를 해결하는 방법을?

+0

모든 JSON.stringify 및 JSON.parse를 제거합니다. $ http 서비스가 당신을 위해 수행합니다 –

+0

@MarcusH 예를들 수 있습니까? JSON.stringify와 JSON.parse를 모두 제거 할 때 이해할 수 없습니다. 나는이 프로젝트를 다른 URL로 사용하고 싶다. 예 : Service.getListObject ("청구서", "EN") Service.getListObject ("보고서", "EN") – John

답변

0

문서 : $http

$http.post(url, data, config); 

$http 따라서 구문 분석 자체에게 JSON을 처리 할 당신이 직접 할 필요가 없습니다은

function getListObject(table, language) { 
    var url = API_URL; 
    return $http.post(url , {company_id : 40743, language_id : language, cm : "list"}); 
} 
+0

내가 URL이 그렇다면 : – John

+0

내가 URL이 그렇다면 : 로컬 호스트 : 8080/api/booking_bills? cm = list & dt = {company : {company_id : 40743}, "booking_bills": {}, "page": { "page_size": 20, "page_index": 1}, languages ​​: {language_id : "en" }}. $ http.post로 어떻게 할 수 있습니까? – John

+0

쿼리 매개 변수를 사용해야합니까? – Weedoze

관련 문제