帮我用python和vue写一段前端后端交互的代码
时间: 2024-02-24 18:53:23 浏览: 97
好的,下面是一个简单的前端后端交互的代码示例,使用 Python Flask 作为后端框架,Vue.js 作为前端框架:
后端代码(Python Flask):
```python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/api/hello', methods=['GET'])
def hello():
name = request.args.get('name')
return jsonify({'message': 'Hello, {}!'.format(name)})
if __name__ == '__main__':
app.run()
```
前端代码(Vue.js):
```html
<!DOCTYPE html>
<html>
<head>
<title>Frontend Backend Example</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<h1>{{ message }}</h1>
<form>
<label for="name">Name:</label>
<input type="text" id="name" v-model="name">
<button @click.prevent="submitForm">Submit</button>
</form>
</div>
<script>
new Vue({
el: '#app',
data: {
name: '',
message: ''
},
methods: {
submitForm: function() {
var self = this;
fetch('/api/hello?name=' + encodeURIComponent(self.name))
.then(function(response) {
return response.json();
})
.then(function(data) {
self.message = data.message;
})
.catch(function(error) {
console.error(error);
});
}
}
});
</script>
</body>
</html>
```
这个示例中,前端页面包含一个表单,用户可以在其中输入名字并点击“提交”按钮。点击按钮后,前端页面会向后端发送一个 GET 请求,请求的 URL 为 `/api/hello?name=[用户输入的名字]`。后端会解析请求参数中的名字,并返回一个 JSON 格式的响应,响应中包含问候语。前端页面会解析响应,并将问候语显示在页面上。
注意,这个示例中前端和后端运行在同一个机器上,使用 Flask 的默认配置启动后端服务器会监听 127.0.0.1:5000 这个地址和端口。如果前端和后端运行在不同的机器上,需要修改前端代码中 fetch 请求的 URL,将域名和端口号修改为后端服务器的地址和端口号。同时,需要将后端服务器的防火墙配置为允许前端服务器的访问。
阅读全文