python fastapi html网页链接被点击时,将链接的名字字符串传递给服务器,服务器接收并打印
时间: 2024-09-24 22:17:24 浏览: 32
在Python FastAPI应用中,当你创建HTML网页链接并通过Ajax或者其他前端技术发送POST请求到服务器时,可以实现这个功能。首先,你需要在FastAPI端设置一个路由来处理POST请求,并且接收URL参数。以下是一个简单的示例:
```python
from fastapi import FastAPI, Request
app = FastAPI()
@app.post("/handle_link")
async def handle_link(request: Request):
link_name = request.query_params.get("link_name") # 获取链接名称参数
print(f"接收到链接名为:{link_name}")
# 可能还需要进一步验证和处理数据
# ...
return {"message": "Link received"}
# HTML页面部分(例如使用Jinja2模板)
<!DOCTYPE html>
<html lang="en">
<head>
<title>Page with Links</title>
</head>
<body>
<a href="{{ url_for('handle_link', link_name='链接名') }}">点击这里</a>
<!-- 或者通过JavaScript AJAX请求 -->
<script>
function sendData() {
fetch('/handle_link', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: `link_name=链接名`
})
.then(response => response.text())
.catch((error) => console.error(error));
}
</script>
<button onclick="sendData()">提交链接</button>
</body>
</html>
```
在这个例子中,用户点击链接时会触发`sendData()`函数,它向服务器的`/handle_link`端点发送一个POST请求,附带参数`link_name`。服务器接收到请求后,打印出`link_name`的值。
阅读全文