这是我的第一个问题,请原谅我的英语。
我正在使用angular,我正在使用http.post(获取和发布信息)。这是怎么回事,我开始使用http.get来请求数据库中的记录。
我正在使用它:
$http.get("empresa.php",{params:{id:-1,action:"get"}})
我希望收到这样的内容:
empresa.php?id=-1&action=get
但不行,因为发送:
empresa.php?query=%7B%22id%22:-1,%22action%22:%22get%22%7D
你可以帮帮我吗?
查询并不是我所希望的。
我正在使用Angularjs 1.5.8
版的 Te工厂是这样的:
app.factory("Data", ['$http',
function($http, ) { // This service connects to our REST API
var serviceBase = 'service/';
var obj = {};
obj.get = function(q,p) {
console.log(p);
return $http.get(serviceBase + q + ".php",{params:p}).then(function (results) {
return results.data;
});
};
obj.post = function(q, object) {
return $http.post(serviceBase + q + ".php", object).then(function(results) {
return results.data;
});
};
obj.put = function(q, object) {
return $http.put(serviceBase + q + ".php", object).then(function(results) {
return results.data;
});
};
obj.delete = function(q) {
return $http.delete(serviceBase + q + ".php").then(function(results) {
return results.data;
});
};
return obj;
}
]);
对于POST工作正常,但对于GET不起作用:(
新修改
Here you can see how is that I have the code, how use and the response
最后,我解决了使用 $ httpParamSerializer 序列化json对象并将其直接调用 empresa.php
感谢所有人的帮助!!!
答案 0 :(得分:1)
使用$httpParamSerializer
为您构建网址查询。
var params = {id:-1,action:"get"};
var query = $httpParamSerializer(params);
$http.get("empresa.php?" + query);
答案 1 :(得分:0)
尽量不要使用$ http.get快捷方式。
$http({
url: "empresa.php",
method: "GET",
params: {id:-1, action:"get"}
});
否则你可以自己创建网址。
$http.get('empresa.php?id=' + -1 + '&action=' + 'get');