我正试图在网站上的一条路径上获取json格式的sqlite数据库数据,这是可以预期的,如果我要访问chrome devtools中网络选项卡上的链接,它会说de内容类型是application/json。这当然是我想要的,除非我用javascript向这个特定的路由发出XMLGET请求,它会显示数据类型:text/html。有人知道如何解决这个问题吗?python代码:
@app.route('/dossiers/all', methods=['GET'])
@login_required
def get_all_dosssiers():
ids = executeQueryResult('SELECT dossierid FROM dossiers', [])
# return jsonify(ids)
print(ids[1].get('DossierId'))
results = []
for id in ids:
results.append(get_dossier(id.get('DossierId')))
return jsonify(results)
JS:
var request = new XMLHttpRequest()
request.open('GET', `http://127.0.0.1:5000/dossiers/all`, true)
request.onload = function () {
// Begin accessing JSON data here
var data = JSON.parse(this.response)
if (request.status >= 200 && request.status < 400) {
data.forEach((dossier) => {
const card = document.createElement('button')
card.setAttribute('class', 'card')
const kruisje = document.createElement('button')
kruisje.setAttribute('class', 'kruisje')
const h1 = document.createElement('h1')
h1.textContent = dossier.ziekte
const p = document.createElement('p')
dossier.description = dossier.description.substring(0, 300)
p.textContent = `${dossier.behandeling}...`
const id = dossier.dossierId
container.appendChild(card)
card.appendChild(kruisje)
card.appendChild(h1)
card.appendChild(p)
card.addEventListener("click", function() {
window.location = `dossier.html?id=${dossier.id}`
})
})
} else {
const errorMessage = document.createElement('p')
errorMessage.textContent = `Het werkt niet...`
app.appendChild(errorMessage)
}
}
它可以是一些东西,很难说从你的描述中到底是什么
CORS。根据您是以}
localhost
的形式打开一个,还是以127.0.0.1
的形式请求另一个,您可能需要设置^{根据
login_required
decorator的工作方式,当您未经身份验证时,可能会有HTML登录页如果您正在运行} 在传递
Flask < 0.11
,那么^{list
时不会运行基本上,获取JSON资源时} 的示例。我在{}中有这个
Array.prototype
重写的漏洞只存在于古老的浏览器中,根列表可以使用。两个带有^{pex "flask < 0.11" app.py
pex "flask >= 0.11" app.py
相关问题 更多 >
编程相关推荐