附加在nodejs中列出ajax结果

我有server.js,它已经连接到MySQL和主页是index.html,我把 html代码。

我想要显示ajax结果给li元素

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)); }); }); 

你不能使用你的nodeJS API来处理你的前端。 其实你可以做到这一点,也有模块,但我不认为你想使用它你想要的是你的API返回数组的权利? 你想把它附加到你的HTML? 那么你可以使用jQuery进行ajax调用。 现在什么是ajax调用。

Ajax调用意味着调用一个API,而你的页面将是相同的。 我的意思是让我给你一个例子假设你提交表单,然后当你点击提交调用的API作为回应,并告诉你,一些消息成功或错误,这不是ajax调用是的,它可以是ajax调用,但如果它会改变你的URL状态和所有的东西,那么它不是Ajax调用你可能有时看到,当你input用户名时,他们显示“这个用户名已经使用”,这是ajax调用,因为他们正在调用API获得结果和priting它在同一页面上。

所以,让我们使用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> 

并直接从响应发送对象我的意思是你目前正在将其转换为string,没有必要。 希望这会有所帮助。