我有server.js,它已经连接到mysql,主页面是index.html,我输入了html代码。
我希望向li元素显示ajax结果,但是
var cooloo=res.end(JSON.stringify(data));
window.document.getElementById('resultlist').innerHTML += cooloo;
不在nodejs中工作。当前的ajax结果代码低于
app.get('/search',function(req,res){
connection.query('SELECT first_name from user_name where first_name like "%'+req.query.key+'%"', function(err, rows, fields) {
if (err) throw err;
var data=[];
for(i=0;i<rows.length;i++)
{
data.push(rows[i].first_name);
}
res.end(JSON.stringify(data));
});
});
答案 0 :(得分:0)
您无法使用nodeJS API处理前端。实际上你可以做到这一点,也有模块,但我不认为你想用它你想要的是你的API正在返回数组吗?你想将它附加到你的HTML?然后你可以使用jquery进行ajax调用。 现在什么是ajax电话。
Ajax调用意味着在您的页面相同时调用API。 我的意思是让我举个例子,假设你提交的是 然后,当您单击提交调用时,API将获取响应和 告诉你一些消息成功或错误这不是ajax调用yes 它可以是ajax调用,但如果它会改变你的URL状态和所有 然后它不是你有时在签名时看到的ajax电话 当你输入用户名时,他们会显示&#34;此用户名已经使用&#34;这个 是ajax调用,因为他们正在调用API获取结果和 在同一页上引用它。
所以,让我们使用jquery来表示怀疑。 如果您还没有添加jquery,那么请在index.html
中添加此链接<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
然后在你的身体中使用它
<script>
$.ajax({
type: "GET",
dataType: "json",
url: "http://localhost:8080/search",
success: function(data){
$('#resultlist li').each(function (index) {
$(this).text(names[index]);
});
}
});
</script>
并直接从响应发送对象我的意思是目前你将它转换为字符串没有必要。 希望这会有所帮助。