要将HTML字符串从Javascript发送到Flask(Python),可以使用Ajax来实现。
首先,在Javascript中,可以使用XMLHttpRequest对象或者fetch API来发送HTTP请求。以下是使用XMLHttpRequest对象的示例代码:
var htmlString = "<h1>Hello, Flask!</h1>";
var xhr = new XMLHttpRequest();
xhr.open("POST", "/process_html", true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
// 请求成功处理逻辑
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify({ html: htmlString }));
在上述代码中,首先定义了一个HTML字符串htmlString
。然后创建了一个XMLHttpRequest对象xhr
,并使用open
方法指定了请求的方法(POST)和URL(/process_html
)。接下来,通过setRequestHeader
方法设置请求头的Content-Type
为application/json
,以便在Flask中正确解析请求数据。然后,通过send
方法发送请求,并将HTML字符串作为JSON数据发送。
接下来,在Flask中,可以使用request
对象来获取发送的HTML字符串。以下是一个简单的Flask路由处理函数的示例代码:
from flask import Flask, request
app = Flask(__name__)
@app.route('/process_html', methods=['POST'])
def process_html():
html = request.json['html']
# 在这里处理HTML字符串,可以进行解析、处理、存储等操作
return 'HTML processed successfully'
if __name__ == '__main__':
app.run()
在上述代码中,首先导入了Flask和request模块。然后,使用@app.route
装饰器定义了一个路由/process_html
,并指定了请求方法为POST。在处理函数process_html
中,通过request.json
获取到发送的JSON数据,并从中提取出HTML字符串。在这个处理函数中,可以对HTML字符串进行解析、处理、存储等操作。最后,返回一个响应,表示HTML处理成功。
这样,就实现了将HTML字符串从Javascript发送到Flask的功能。请注意,上述代码仅为示例,实际应用中可能需要根据具体需求进行适当的修改和完善。
领取专属 10元无门槛券
手把手带您无忧上云