无法调用方法'发送'express js中未定义的(响应未定义)
Cannot call method 'send' of undefined(response is undefined) in express js
我试图通过app.js(服务器)将一个变量从index.html传递到数据库(maildata.js),并获得相应的数据我可以从数据库中获取数据,但无法将其发送回服务器(app.js)
app.js
var express = require('express');
var maildata= require('./maildata');
var app = express();
app.configure(function(){
app.use(express.bodyParser());
});
app.get('/', function(request, response){
response.sendfile(__dirname + '/mailbox.html');
});
app.post('/mailboxpost',function(request, response) {
var input=request.query.search;
var result=maildata.getMailData(input);
response.send(result);
response.end();
});
app.listen(8888);
console.log('Server is running on port 8888');
maildata.js
exports.getMailData=function(data,response) {
var stop_name= data;
connection.query("select stop_name,stop_comment from stoplist where stop_name= '"+stop_name+"' limit 1",function(err, rows) {
if (err) {
console.log('error in fetching ' + err);
}
else{
var jsonString1= JSON.stringify(rows);
connection.query("select mailbox_sequence_no from stoplist where stop_name= '"+stop_name+"'",function(err, rows) {
if (err) {
console.log('error in fetching ' + err);
}
else{
var jsonString2 = JSON.stringify(rows);
connection.query("select party_head from stoplist where stop_name= '"+stop_name+"'", function(err, rows) {
if (err) {
console.log('error in fetching ' + err);
}
else{
var jsonString3 = JSON.stringify(rows);
var result=jsonString1+'/'+jsonString2+'/'+jsonString3;
response.send(result);
}
});
}
});
}
});
}
提前感谢
调用函数时发送响应怎么样?
var result=maildata.getMailData(input); // something missing here
getMailData
函数需要两个参数:
exports.getMailData=function(data,response) { ... }
但你只给它一个:
var result=maildata.getMailData(input);
这使得response
参数的值为undefined
。
以下是您应该做的:
app.post('/mailboxpost',function(request, response) {
var input=request.query.search;
maildata.getMailData(input, response);
});
并让maildata.getMailData
处理响应发送,就像在response.send(result);
中所做的那样
我在app.js.中使用了异步回调方法
我得到了的结果
var result=maildata.getMailData(input,response,function(data){
response.send(data);
response.end();
});
感谢所有
相关文章:
- 页面加载时未定义的 ajax 响应
- 使用 RESTful API,如果未定义特定的响应 json 级别,我如何在客户端不出错
- Cordova嵌入式网络视图未响应navigator.camera未定义
- 如何在未定义类时从 AJAX 响应中获取锚标记值
- Angular ReferenceError:未定义响应
- ember dev fixes错误:“;断言失败:findAll的响应必须是数组,而不是未定义的“”;
- 无法调用方法'发送'express js中未定义的(响应未定义)
- 错误:未定义响应
- JSON响应一直未定义(ajax文件上传)
- AngularJS HTTP 资源 - 响应函数未定义
- 值是未定义的,直到响应出现在 AngularJS 中
- 来自 chrome 扩展程序中内容脚本的未定义响应
- Ember 断言失败:来自 findQuery 的响应必须是数组,而不是未定义
- FB.api 响应未定义
- 来自 ajax 中 JSON 响应的值返回为未定义
- 角度“响应未定义”时尝试为资源实现全局错误处理程序
- 未定义的响应来自侧边栏小工具中 XHR 的文本
- 返回的 Ajax 响应指出其属性值未定义
- TypeError:jQuery自动生成表行中未定义响应[i]
- node.js未找到解析成功/错误,未定义响应