Flask WTForm 作为对 AJAX 调用的响应
Flask WTForm as response to a AJAX call
在 Flask 应用程序中,我正在尝试 "render" 基于各种按钮选择的不同 Flask-WTForms。我还需要更改我的 div 的内部 HTML 并因此尝试同时传递内部 HTML 和 form 如下所示。我收到一个错误消息,指出表单不可 JSON 可序列化。
关于如何在 AJAX 调用而不是呈现新页面上执行此操作的任何建议?
页面是来自下述 class 的对象。
@app.route('/_select_forms',methods=['GET','POST'])
def _creation_frame():
content_requested=request.get_json()
Page=Page_contribute_frame(content_requested)
return jsonify(html=Page.html_string, form=Page.form)
class Page:
def __init__(self, **kwargs):
self.html_string = None
self.form = None
<div id=contribute-frame></div>
function contribute_frame(e){
var request_json = frame_identifier();
$.ajax({
type:'POST',
url:'/_contribute_frame',
contentType: "application/json",
data:request_json,
success : function(data){
$('#contribute-frame').html(data.html);
},
error : function (){
$('#contribute-frame').html('Browser did not get a response. Check connection.');
}
});
}````
通过呈现字符串在 Flask 中解决了这个问题。
return render_template_string(Page.html_string, form=Page.form)
在 Flask 应用程序中,我正在尝试 "render" 基于各种按钮选择的不同 Flask-WTForms。我还需要更改我的 div 的内部 HTML 并因此尝试同时传递内部 HTML 和 form 如下所示。我收到一个错误消息,指出表单不可 JSON 可序列化。
关于如何在 AJAX 调用而不是呈现新页面上执行此操作的任何建议?
页面是来自下述 class 的对象。
@app.route('/_select_forms',methods=['GET','POST'])
def _creation_frame():
content_requested=request.get_json()
Page=Page_contribute_frame(content_requested)
return jsonify(html=Page.html_string, form=Page.form)
class Page:
def __init__(self, **kwargs):
self.html_string = None
self.form = None
<div id=contribute-frame></div>
function contribute_frame(e){
var request_json = frame_identifier();
$.ajax({
type:'POST',
url:'/_contribute_frame',
contentType: "application/json",
data:request_json,
success : function(data){
$('#contribute-frame').html(data.html);
},
error : function (){
$('#contribute-frame').html('Browser did not get a response. Check connection.');
}
});
}````
通过呈现字符串在 Flask 中解决了这个问题。
return render_template_string(Page.html_string, form=Page.form)