试图了解如何将帖子请求发送到我的后端(烧瓶)。
在我的HTML中,我有3个复选框和一个提交按钮。我的提交按钮返回一个javascript数组,我正在尝试将该javascript数组发送到api端点'api / regions',您可以在下面看到。
$(document).ready(function() {
$("#loadData").click(getChecked);
});
function getChecked() {
event.preventDefault();
var checkboxes = $(".form-check input[type=checkbox]:checked");
//toArray: convert checkboxes object to javascript array
var labels = checkboxes.toArray().map(checkbox => checkbox.value);
$.ajax({
url: 'api/regions',
type: "POST",
data: JSON.stringify(labels),
processData: false,
contentType: "application/json; charset=UTF-8",
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
}
在我的app.py中,我有一条终点api的路由:
@app.route('/api/regions', methods=['POST'])
def regions():
regions = request.json
with open("C:\\test.txt", 'w') as f:
f.write(regions)
if __name__ == "__main__":
app.run(debug=True)
我知道没有return语句,我只是想写出我从
获得的数据regions = request.json
到一个文件。 “C:\ test.txt的”
我在尝试这样做时遇到的错误是500,这并没有给我很多帮助。我不确定我缺少的是前端还是后端,所以希望有人可以了解我出错的地方。
答案 0 :(得分:1)
如果mimetype是 application / json ,则它将包含已解析的JSON数据。否则,这将是
None
。
关键是.json
是已解析的 JSON数据,而不是原始字符串。如果您想将其写入文件,您需要首先将其转换回字符串,可能是使用json.dumps()
:
with open("C:\\test.txt", 'w') as f:
f.write(json.dumps(regions))