【发布时间】:2021-07-03 20:29:00
【问题描述】:
我在从 javascript 函数中获取数据时遇到问题
这是我用来获取的代码:
async function postSearchString(searchString) {
let data = {'searchString': searchString};
const response = await fetch('http://127.0.0.1:5000/search', {
method: 'POST',
mode: "no-cors",
body: JSON.stringify(data),
headers: new Headers({
'content-type': 'application/json'
})
});
if (response.ok) {
return await response.json();
}
}
对于服务器端,我使用 python flask
@app.route('/search', methods=['POST'])
def select_by_country():
req = request.data.decode('utf8')
search_string = json.loads(req).get('searchString')
result = []
con = sqlite3.connect("example.db")
cur = con.cursor()
for row in cur.execute("SELECT destinationCountry FROM roaming_data WHERE destinationCountry LIKE ?", (search_string,)):
result.append(row)
return Response(json.dumps({
"results": result,
}), mimetype="application/json", status=http.HTTPStatus.OK)
现在,当我使用 postman 测试 api 时,它可以工作,但是当使用前端函数时,response.ok 为 false 并且正文为空
知道为什么吗?
【问题讨论】:
标签: javascript flask fetch-api