所以我在角度js的工厂服务中提出了一个get请求
.factory('FollowUpTodaySvc', function($q, _, $http, currentUrl, TodayDateSvc) {
var deferred_FTS = $q.defer();
var getFollowUp = function(d) {
// var getFollowUp = function(ob) {
var ob = {};
ob.a = "a";
ob.b = "b";
var url = currentUrl+"/api/FollowUpSearch/"+ob;
$http.get(url)
.success(function(jsonData_FTS) {
console.log('%c 518-S getFollowup json Data =', 'background: white; color: red',jsonData_FTS);
deferred_FTS.resolve(jsonData_FTS);
})
.error(function(error_FTS) {
当此请求进入快速服务器时,我无法从params对象中提取值。
继承我的服务器代码。
exports.FollowUpSearch = function(req, res, next, id) {
console.log('224-psc FollowUpSearch-API id = ', id);
console.log('397-psc FollowUpSearch-API req.params = ', req.params);
console.log(chalk.green('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%: ' + "&&&&&&&&&"));
继承人终端截图。
第二次尝试使用
发送数据$http.get(url, obj)
这里的id未定义。
情景2。 在ng服务中:
var data = {usernameOrEmail: "some email ", password: "PAssword"};
console.log('513-S---- inside FollowUpTodaySvc ');
var url = currentUrl+"/api/FollowUpSearch/"+d;
// var url = currentUrl+"/api/FollowUpSearch/"+d;
$http.get(url, data )
服务器上的
console.log('403-psc FollowUpSearch-API req.params = ', req.params);
console.log('403-psc FollowUpSearch-API req.body = ', req.body);
方案3.
将$ http从get更改为post解决它,我可以使用req.body对象获取值,但我的问题是如果我不想发布Post请求,我只想得到因为它可以被缓存。<登记/> 我如何发送数据后端?
方案4 - stringify
exports.Later_Today_P_prioritySearch = function(req, res, next, id) {
console.log(chalk.white('354-PSC - - Environment: inside Later_Today_P_prioritySearch '));
console.log(chalk.white('356-PSC - - req.body ', req.body));
var stri_body = JSON.stringify(req.body)
console.log(chalk.white('358-PSC - - stri_body ', stri_body));
console.log(chalk.white('356-PSC - - req.params ', req.params));
var stringy = JSON.stringify(req.params)
console.log(chalk.white('356-PSC - - stringy ', stringy));
console.log(chalk.white('356-PSC - - stringy Later_Today_P ', stringy.Later_Today_P));
它很有趣它适用于req.params但不适用于req.body
继承角度服务
var deferred_la_P = $q.defer();
var getPriority = function(p) {
url = currentUrl+"/api/Later_Today_P_prioritySearch/"+p;
console.log('880-S p =', p)
var data = { username : '$localStorage.username', email: '$localStorage.email' };
$http.get(url, data)
场景:5(使用http.post进行stringify
与上面相同的代码。
$http.post(url, data)
方案6:
使用$ http发布所有strinfigy是不必要的
因为我可以使用以下方法访问该值。
console.log(chalk.white(&#39; 364-PSC - - req.body.username&#39;,req.body.username));
但问题仍然存在:如何通过http get请求发送数据对象。
答案 0 :(得分:0)
您可以在日志声明中使用
console.log('224-psc FollowUpSearch-API id = ',JSON.stringify(id));
console.log('397-psc FollowUpSearch-API req.params = ', JSON.stringify(req.params));
您应该以这种方式获得该对象的更多信息,而不仅仅是类型。
答案 1 :(得分:0)
您的第一张图片显示您的request.params
有某些内容。
无论如何the documentation,$http.get
的第二个参数是配置对象。配置对象现在可以拥有参数。所以你应该改变你的代码如下:
$http.get(url, {params:obj})