Javascript 无法访问从节点服务器发送的对象中的数组
我从节点服务器发送了一个JSON对象,并在前端接收它,但我无法访问内容,这是一个HTML文件,我想在DIV中显示,出于教育目的,我使用纯java脚本 我发布了一张我的XHR响应的图片,我可以看到这个对象,但是我不能显示它的内容,请帮助 这是我的后端:Javascript 无法访问从节点服务器发送的对象中的数组,javascript,arrays,node.js,object,Javascript,Arrays,Node.js,Object,我从节点服务器发送了一个JSON对象,并在前端接收它,但我无法访问内容,这是一个HTML文件,我想在DIV中显示,出于教育目的,我使用纯java脚本 我发布了一张我的XHR响应的图片,我可以看到这个对象,但是我不能显示它的内容,请帮助 这是我的后端: app.post('/searchDB', function(req, res) { var Tutorial = require("./server/models/tutorial") Tutorial.find({ conte
app.post('/searchDB', function(req, res) {
var Tutorial = require("./server/models/tutorial")
Tutorial.find({
content: new RegExp(req.body.term, "i")
}).exec(function(error, tutorials) {
console.log(tutorials)
// var searchContent = tutorials
// res.end(tutorials)
res.json({
searchresults: tutorials
})
})
})
var xhr = new XMLHttpRequest()
xhr.open("POST", "/searchDB", true)
// set a variable equal to the form data variable
var fd = new FormData()
fd.append("term", content)
//now send input value to our server in fd variable
xhr.send(fd)
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
//- console.log(xhr.responseText)
searchData = JSON.parse(xhr.responseText)
//- console.log(searchData)
console.log("the following object has been received from the server:")
console.log(searchData)
这是我在前端捕捉到的内容,控制台日志显示了作为搜索数据的项目,这是我第一次问stackO a问题,所以我是新手,如果解释不正确,很抱歉
前端代码:
app.post('/searchDB', function(req, res) {
var Tutorial = require("./server/models/tutorial")
Tutorial.find({
content: new RegExp(req.body.term, "i")
}).exec(function(error, tutorials) {
console.log(tutorials)
// var searchContent = tutorials
// res.end(tutorials)
res.json({
searchresults: tutorials
})
})
})
var xhr = new XMLHttpRequest()
xhr.open("POST", "/searchDB", true)
// set a variable equal to the form data variable
var fd = new FormData()
fd.append("term", content)
//now send input value to our server in fd variable
xhr.send(fd)
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
//- console.log(xhr.responseText)
searchData = JSON.parse(xhr.responseText)
//- console.log(searchData)
console.log("the following object has been received from the server:")
console.log(searchData)
前端代码还有更多行吗?您似乎没有关闭您的
onreadystatechange
函数声明。您也没有将searchData
放在任何可见的地方。如果使用jQuery——并假设HTML中存在ID为datagoesher
的div——可以执行类似$('#datagoesher').HTML(searchData)的操作
--或者不使用jQuery(更详细,尽管仅此jQ有点过火)--document.getElementById('DataGoesher')。innerHtml=searchData代码>