如何用Python与JavaScript通过Web进行通信,分别提供相应的代码示例?python不用flask
时间: 2024-12-30 11:41:01 浏览: 8
Python 和 JavaScript 之间的通信可以通过浏览器的 AJAX 技术或者 Node.js 的 HTTP 库来实现。这里我们只介绍基于HTTP的交互,不涉及Flask。
**Python (后端):**
如果你有一个简单的Python API,你可以使用内置的`http.server`模块提供RESTful接口,示例如下:
```python
from http.server import BaseHTTPRequestHandler, HTTPServer
class RequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
self.wfile.write(b'{"message": "Hello from Python!"}')
def run(server_class=HTTPServer, handler_class=RequestHandler):
host = '' # All available interfaces
port = 8000 # Choose a port
server_address = (host, port)
httpd = server_class(server_address, handler_class)
print(f'Starting server at {server_address}...')
httpd.serve_forever()
run()
```
然后,在HTML文件或前端JS中,你可以发送GET请求到这个地址获取数据:
```javascript
fetch('http://localhost:8000')
.then(response => response.json())
.then(data => console.log(data.message));
```
**JavaScript (前端):**
在前端,你可以使用`fetch`、axios等库发起HTTP请求,如下所示:
```javascript
// 使用fetch
fetch('http://your-python-api-endpoint')
.then(response => response.json())
.then(data => {
// 处理返回的数据
console.log(data.message);
});
// 或者使用axios
axios.get('http://your-python-api-endpoint')
.then(response => {
console.log(response.data.message);
});
```
阅读全文