- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Node.js 中有这个端点:
usersRoute.get('/get', function(req, res) {
//If no date was passed in - just use todays date
var date = req.query.date || dateFormat(new Date(), 'yyyy-mm-dd'),
search = req.query.search;
users.getAllUsers(date, search)
.then(function(results) {
res.json(results);
}, function(err) {
res.status(500).json({
success: false,
message: 'Server error.',
data: []
});
});
});
出于测试目的,我错误地命名了 SQL 表,因此它将转到 function(err){}
我的服务中的功能如下所示
function getUsers(date, search) {
return $http.get('/api/users/get', {
params: {
date: UtilsService.formatDate(date),
search: search
}
})
.then(getData)
.catch(handleErr);
function getData(response) {
console.log(response);
return response.data;
}
function handleErr(err) {
console.log(err);
LoggerService.error('Could not retrieve users.', err ,'Ooops');
return $q.reject(err);
}
}
then
和 catch
中的 console.log
都返回 undefined
。
如果有人能向我解释这是为什么,我将不胜感激。
编辑以供澄清;以下是更多后端代码:
Users.js
var sql = require('seriate');
var when = require('when');
var getAllUsers = function(date, search) {
return sql.execute({
query: sql.fromFile('../sql/users/getAllUsers.sql'),
params: {
date: {
type: sql.DATE,
val: date
},
search: {
type: sql.VARCHAR,
val: search
}
}
});
}
module.exports = {
getAllUsers: getAllUsers
};
UsersApi.js
var express = require('express');
var dateFormat = require('dateformat');
var users = require('../models/users');
var validation = require('../middleware/validation');
var usersRoute = express.Router();
//Checks for a valid token
validation.isLoggedIn(usersRoute);
usersRoute.get('/get', function(req, res) {
//If no date was passed in - just use todays date
var date = req.query.date || dateFormat(new Date(), 'yyyy-mm-dd'),
search = req.query.search;
users.getAllUsers(date, search)
.then(function(results) {
res.json(results);
}, function(err) {
res.status(500).json({
success: false,
message: 'Server error.',
data: []
});
});
});
module.exports = usersRoute;
在我的服务中,访问了then
部分以及catch
,并且两个对象(response
和err
)都是未定义
最佳答案
可以分享一下完整的服务吗?我创建了一个plunker with your code根据您提供的示例调用我在 OpenShift 上托管的 Nodejs 服务我创建了一个模拟您的函数的方法(错误):
self.routes['/get'] = function(req, res) {
res.status(500).json({
success: false,
message: 'Server error.',
data: []
});
};
plunker 上的应用程序是:
var app = angular.module('plunker', []);
app.service('UserService', function($http, $q) {
this.getUsers = function(date, search) {
return $http.get('https://nodejs-starters.rhcloud.com/get', {
params: {
date: date,
search: search
}
})
.then(getData)
.catch(handleErr);
}
function getData(response) {
console.log('status: ' + reponse.status + ' - ' + response.message);
return response.data;
}
function handleErr(err) {
console.log(JSON.stringify(err));
console.log('status: ' + err.status + ' Err= ' + err.data.message);
console.log('Could not retrieve users.', err.data.message, 'Ooops');
return $q.reject(err);
}
});
app.controller('MainCtrl', function($scope, $http, $q, UserService) {
var vm = $scope;
vm.name = 'World';
UserService.getUsers(new Date(), '*');
});
并且,控制台显示以下结果:
app.js:21 {"data":{"success":false,"message":"Server error.","data":[]},"status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"params":{"date":"2016-06-02T18:33:50.633Z","search":"*"},"url":"https://nodejs-starters.rhcloud.com/get","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"Internal Server Error"}
app.js:22 status: 500 Err= Server error.
app.js:23 Could not retrieve users. Server error. Ooops
因此调用了handleErr并定义了err。 “err.data.success”为 false,“err.data.message”为“服务器错误”。正如你在 Node.js 上写的那样。
在 plunker 示例中,您可以替换我的 URL https://nodejs-starters.rhcloud.com/get与您的比较,看看您是否得到相同的结果或不同的结果?
关于javascript - Angular 中传回回调的数据未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37598174/
昨天开始学习ansible,所以我相信我可能会在这里冒XY问题的风险,但仍然...... 主要的yml: - hosts: localhost vars_files: [ "users.y
我在 Storyboard中创建了一些segue。它有一些标识符。我在方法 prepareForSegue:sender: 中配置 destinationViewController 并分配一些对象作
我想用 Promises 替换代码中的一些回调。 我有一个使用 setAnimationFrame 在循环中运行的模型。我想在我的模型中启动一些东西,并在完成时通知我。目前我是这样做的。 doSome
我需要动态获取用户选择的任何选项的值,并在单击按钮时将该值传递回 Facebook Pixel。 请参阅脚本区域中的所选选项值。 Wh
这个问题在这里已经有了答案: dismissModalViewController AND pass data back (4 个回答) 9年前关闭。 我有一个带有表格的popoverview,我想在
我想用 Python 显示一个 2D map ,然后在 Python 代码中用 coursor 的坐标做一些事情。但是,我无法获得 Python 部分的坐标。这是我的代码: from PyQt5.Qt
我正在使用 NXP lpc1769 演示板开发一个小项目。我正在使用 CodeRed 的 LPCExpresso 5 对其进行编程,我想知道是否可以将应用程序 hex/bin 文件从开发板传输回 PC
我是 Android 的新手,一般来说是事件驱动代码。我没有在 Activity 中嵌入大量匿名事件监听器类来处理 onClick 事件等,而是定义了单独的类以保持代码整洁。然后我使用它们,例如像这样
我已经成功地使用了 prepareForSegue,不过我已经成功地传递了变量。我现在正在尝试通过 segue 的反向传递 NSNumber 但 prepareForSegue 没有被调用。要返回到我
我有 ViewController 和 TableViewController。在 ViewController 中,我有 2 个按钮和 2 个文本字段,当单击按钮 1 时,它将导航到带有静态数据的
我如何将信息从 Jinja 模板页面传回 Flask? 假设我打印了一些项目列表。用户选择项目,我可以通过 Javascript 捕捉。 将所选项目作为参数传递给将生成该项目自己的页面的函数的最佳做法
我怎样才能将数据从 php 的然后行传回 ajax? PHP $query = 'SELECT * FROM picture order by rand() LIMIT 10'; $result =
在我的 MVC4 项目 View 中,正在传递 IEnumerable模型来查看。当我将表单提交回 Controller 时, Controller 方法的参数为 IEnumerable data 。
在我的 MVC4 项目 View 中,正在传递 IEnumerable要查看的模型。当我将表单提交回我的 Controller 时, Controller 方法的参数为 IEnumerable dat
我试图将订单 ID 从订单页面传递到 Paypal,然后返回到感谢页面,这样我就可以将订单标记为已付款,但我遇到了问题。目前我将这些变量传递给 Paypal,如下所示: $vars = array(
所以通常我会为此使用委托(delegate)模式,但这是一个棘手的情况。 View Controller A 呈现 -> View Controller B 呈现 -> View Controller
我是 Android 和 Java 的初学者。到目前为止还不错,但我偶然发现了一个我无法解决的问题。 我正在尝试在我的应用程序类中创建一个方法,该方法将使用传递给它的值对列表进行 http 调用。这是
在我的应用程序中,我使用 uitable 从我的列表中选择类别。我的任务是,当用户单击或选择一个单元格时,他应该能够在下一个 View (详细 View )中查看所选单元格的详细信息。当他在详细 Vi
我正在构建一个应用程序,当用户从 select 标签中选择一个值时,系统会提示用户使用另一个带有相应数据的 select 标签。我通过从第一个字段中获取数据并使用 Ajax 将其传回我的 Contro
我有一个 C# 应用程序需要获取从 C++ DLL 传回的可变长度数据。通常,我按如下方式解决此问题:对于每个实体类型(例如字符串或位图),我都有一个适当类型的持久 C++ 变量。然后,C# 应用程序
我是一名优秀的程序员,十分优秀!