1.使用node http-server 起本地服务器 或者打开nginx 直接用nginx的默认页面也可以 (用下面的html文件替换nginx下html文件夹下的index.html)
http-server -p 8888
然后在浏览器打开 localhost:8888 打开页面
jQuery ajax 请求数据
<!DOCTYPE html> <html> <head> <title>node</title> </head> <body> <p id="text">jquery 请求数据</p> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script> function get(){ $.ajax({ type:'get', //url: 'localhost: 8081/docs/',//由于 服务启动的8888端口请求 8081端口 跨域,用nginx配置跨域 url: '/docs/', success:function(data){ $('#text').html(data.data) }, error:function(err){ console.log(err); } }) } </script> <input type="hidden" id="dat3" value="3"> <button onClick="get()">请求数据</button> </body> </html>
2.由于 服务启动的8888/80端口请求 8081端口 跨域,用nginx配置跨域 nginx下载
server { listen 80; server_name localhost; #charset koi8-r; access_log logs/host.access.log; location / { root html; index index.html index.htm; } location ^~ /docs/ { proxy_pass http://localhost:8081; }
3.python接口文件 新建api.py 在bash下打开 python api.py
#!/usr/bin/python # -*- coding: utf-8 -*- import pymysql #导入 pymysql import urllib2 import json from urlparse import parse_qs from wsgiref.simple_server import make_server #打开数据库连接 def get_data(): db= pymysql.connect(host="localhost",user="root", password="123456",db="user",port=3306) # 使用cursor()方法获取操作游标 cur = db.cursor() #1.查询操作 # 编写sql 查询语句 user 对应我的表名 sql = "select * from users" # results = try: cur.execute(sql) #执行sql语句 results = cur.fetchall() #获取查询的所有记录 # print("id","name","password") #遍历结果 for row in results : id = row[0] name = row[1] password = row[2] # print(id,name,password) return results except Exception as e: raise e finally: db.close() #关闭连接 # 定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。 def application(environ, start_response): # 定义文件请求的类型和当前请求成功的code start_response('200 OK', [('Content-Type', 'text/html')]) # environ是当前请求的所有数据,包括Header和URL,body,这里只涉及到get # 获取当前get请求的所有数据,返回是string类型 params = parse_qs(environ['QUERY_STRING']) # 获取get中key为name的值 name = params.get('name', [''])[0] no = params.get('no', [''])[0] # 组成一个数组,数组中只有一个字典 # dic = {'name': 'name', 'no': 'no'} #dic = get_data() dic = {'data':[ { 'a' : ['1','2'], 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]} # dic = get(); return [json.dumps(dic)] if __name__ == "__main__": url = '127.0.0.1' # 监听的请求url port = 8081 #监听的端口 只要是8081端口的都会返回数据,下面请求的url加了/docs/ 是nginx 匹配的需要 # httpd = make_server("0.0.0.0", port, application) httpd = make_server(url, port, application) print "serving http on port {0}...".format(str(port)) httpd.serve_forever()
配置ok 点击打开页面请求下 是不是 是不是请求到数据了
数据自定义 不用再求后端修改接口了。
有问题 欢迎来指点。