如何在angularjs中发送带有多个参数的POST?

时间:2016-10-24 07:22:32

标签: angularjs http

我想使用angularjs HTTP post service发送多个参数。 这是我在项目中发送帖子的功能

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'));}

示例我的网址是: localhost:8080 / api / product?cm = list&amp; dt = {product:{},company:{company_id:40743},语言:{language_id:“en”}} < /强>

当我使用上面的函数时,我写道: Service.getListObject(“products”,“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"}}"

如何解决这个问题?

1 个答案:

答案 0 :(得分: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"});
}