[英]When i call the ajax in node.js as a return undefined
我的 node.js 代码
索引.js
var mysql = require('mysql');
var fs = require('fs');
var ejs = require('ejs');
var client = mysql.createConnection({
user : 'root',
password : '1234',
database : 'company'
});
exports.index = function(req, res) {
fs.readFile('views/index.html','utf-8',function(error,data){
client.query('select * from spa',function(error,result){
if(error){
console.log('error:'+error);
}else{
res.send(ejs.render(data,{
title:'Express',
result:result
}));
}//end else
});//end query
});//end fs
};
我的 index.html 代码
<script>
$(document).ready(function() {
function listView() {
$('#output').empty();
$.ajax({
url : '/',
type : 'GET',
success : function(result) {
alert('success');
alert(typeof (result));
$(result).each(function(index, item) {
var output = '';
output += '<tr>';
output += '<td>' + item.file_no + '</td>';
output += '<td>' + item.file_name + '</td>';
output += '<td>' + item.file_content + '</td>';
output += '<td>' + item.file_model + '</td>';
output += '</tr>';
$('#output').append(output);
});//end each
}//end success
});//end ajax
}//end listView();
});//end document
</script>
<table id="output"></table>
当我运行代码直到成功执行时。 警报('成功') - >工作!
警报(typeof(结果))->字符串>工作! 但是未定义的所有数据表。
我不知道情况.. 请帮助我..
假设您只想遍历结果对象,而不是这样:
$(result).each(function(index, item) {
我想你可能想要:
$.each(result, function(index, item) {
如果这仍然不能让你到达你想要的地方,那么添加一个
console.log(result);
准确检查 ajax 调用的结果是什么,并确保您拥有完全符合预期的数据,并且您正在迭代其中的正确部分。
你说typeof (result)
是string
,希望是JSON
。 但是如果想迭代它,那么你必须解析为javascript
数组
var resultArray = JSON.parse(result);
然后遍历一个数组
$.each(resultArray, function(index, item) {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.