基于Flask创建Python服务端,并调用JavaScript客户端

小小何先生 2022-08-06 09:37:18 阅读数:287

Python服务Flask创建服务端

Python服务端

from flask import Flask, request
from flask_cors import CORS
class AiServer(object):
def __init__(self):
server = Flask(__name__)
CORS(server, supports_credentials=True)
server.route('/post', methods=['POST'])(self.post)
server.run(port=8000, threaded=True)
def post(self):
if request.method == "POST":
print("get post")
response_data = request.get_data()
print("response_data", response_data)
return "Hello"
if __name__ == '__main__':
AiServer()

这里一定要设置supports_credentials=True

JS客户端


<script>
function createXMLHTTPObject()
{

var XMLhttpFactories = [//兼容不同浏览器和版本的创建函数数组
function() {
return new XMLHttpRequest()},
function() {
return new ActiveXObject("Msxml2.XMLHTTP")},
function() {
return new ActiveXObject("Msxml3.XMLHTTP")},
function() {
return new ActiveXObject("Microsoft.XMLHTTP")},
];
var xmlhttp = false;
for (var i = 0; i < XMLhttpFactories.length; i++)
{

try
{

xmlhttp = XMLhttpFactories[i]();
break; //如果成功,则终止循环
}
catch (e)
{

continue; //如果异常,则继续使用下一个创建函数
}
}
return xmlhttp;
}
xmlhttp = createXMLHTTPObject();
var receive_data;
xmlhttp.onreadystatechange = function() {

if (this.readyState == 4 && this.status == 200) {

receive_data = this.responseText
console.log("rece:", this.responseText);
// myObj = JSON.parse(this.responseText);
// console.log(myObj);
}
};
asynchronous_type = false; //True为异步,false为同步
xmlhttp.open("POST", "http://localhost:8000/post", asynchronous_type);
// 发送数据格式:https://www.cnblogs.com/softidea/p/5745369.html # x-www-form-urlencoded
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
obs = {
num : 1}
json_data = JSON.stringify(obs)
xmlhttp.send(json_data)
console.log(receive_data)
</script>
版权声明:本文为[小小何先生]所创,转载请带上原文链接,感谢。 https://zhiqianghe.blog.csdn.net/article/details/126130267