我使用python Flask和使用Angular 2的客户端构建Web服务器,并尝试在两者之间进行Rest通信。 看起来我的服务器很好,因为当我输入它的ip:port作为URL时,所需的信息出现在浏览器中,而且当我使用外部http请求模拟(Postman)测试时,信息是也转移了。 此外,我的客户端应用程序似乎也很好,同时得到一个真实的"网站实际工作(https://jsonplaceholder.typicode.com/posts/1返回所需的json)。 即使这两个应用程序单独运行,但在尝试从我的服务器向客户端发送get请求时,操作也会失败。
这是我的客户端app.component.ts代码(192.168.14.10:52225是运行服务器的ip:端口):
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
msg: any;
constructor(private http: HttpClient) {}
getMsg() {
this.http.get('http://192.168.14.10:52225').subscribe(data => {
this.msg = 'YAY!!';
})}
}
这是我的服务器代码:
from flask import Flask
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {'hello': 'world'}
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
import os
HOST = '192.168.14.10'
try:
PORT = int(os.environ.get('SERVER_PORT', '5555'))
except ValueError:
PORT = 5555
app.run(HOST, PORT, debug=True)