【发布时间】:2013-06-11 08:49:55
【问题描述】:
我的 Flask 应用程序的模板有一段 javascript (jQuery) 代码,一旦触发,该代码将尝试在给定路由上发布一些数据:
var jqxhr = $.post($SCRIPT_ROOT+endpoint,
post_data,
function() {
alert("Yays!"); })
.done(function() { ...finalize_client... })
.fail(function (jqxhr, textStatus, err) {
alert("Our server returned an error\n" + err +
"\n" + textStatus + "\n" +
"Please try again later.");
});
};
服务器端的endpoint对应一个类似的函数
@mod.route(endpoint, methods=['POST',])
def validate_post_data():
...
test = validation_function(post_data)
if test:
...finalize_server...
return render_template(...)
return ???
检查post_data 的有效性。如果验证失败,我想向客户端发送一些消息,以便我们可以更多地知道出了什么问题。我应该返回什么才能在 js 代码中获得我需要的 err 和 textStatus?我可以使用flask.abort(whatever),但这不能让我自定义消息,是吗?
【问题讨论】: