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

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

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>


相关文章
|
24天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
1月前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
72 2
|
1月前
|
JavaScript 前端开发 中间件
JS服务端技术—Node.js知识点
本文介绍了Node.js中的几个重要模块,包括NPM、Buffer、fs模块、path模块、express模块、http模块以及mysql模块。每部分不仅提供了基础概念,还推荐了相关博文供深入学习。特别强调了express模块的使用,包括响应相关函数、中间件、Router和请求体数据解析等内容。文章还讨论了静态资源无法访问的问题及其解决方案,并总结了一些通用设置。适合Node.js初学者参考学习。
36 1
|
2月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
155 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
1月前
|
开发框架 JavaScript 前端开发
Node.js日记:客户端和服务端介绍、Node.js介绍
Node.js日记:客户端和服务端介绍、Node.js介绍
|
2月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
172 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
1月前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
44 2
|
1月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
33 1
|
25天前
|
JSON API 数据格式
使用Python和Flask构建简单的Web API
使用Python和Flask构建简单的Web API
|
2月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第12天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先概述了API的重要性及RESTful API的基本概念,接着详细讲解了Flask框架的特性和安装方法。通过创建一个基本的Flask应用,定义了处理“图书”资源的GET、POST、PUT和DELETE方法的路由,展示了如何处理请求和响应,以及如何进行错误处理。最后,提供了运行和测试API的方法,总结了Flask在构建RESTful API方面的优势。
38 1