从Python传递JSON到JavaScript
OS: Windows 8.1 with update
关键字:Python 3.4,HTML5,JSON,JavaScript
1.LocalServer.py,启动server,打开网页,传递JSON。
from threading import Thread
import time
import webbrowser
import http.server
import socketserver
import json
import os port_number = 8000 server = None
def startServer(port):
originDir = os.getcwd()
os.chdir(os.path.dirname(os.path.realpath(__file__)))
Handler = http.server.SimpleHTTPRequestHandler
global server
server = socketserver.TCPServer(("", port), Handler) print("serving at port", port)
server.serve_forever()
os.chdir(originDir) def start(port):
thread = Thread(target=startServer, args=[port])
thread.start()
time.sleep(2) #Wait to start the server first def test():
if not server:
print("Failed to start server") url = "http://localhost:" + str(port_number) + '/' + 'index.html'
url += "?number="
url += "" jsonObj = {
"person": {
"name": "Jack",
"age": 20
}
} jsonStr = json.dumps(jsonObj)
url += "&person="
url += jsonStr
webbrowser.open(url)
print(url + " is opened in browser") def stop():
if server:
server.shutdown() if __name__ == "__main__":
start(port_number)
test()
2.index.html, 接受JSON string,转换成JSON object。
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head> <body>
<script>
function getQueryStringByName(name){
var result = location.search.match(new RegExp("[\?\&]" + name+ "=([^\&]+)","i"));
if(result == null || result.length < 1){
return "";
}
return result[1];
} var personStr = getQueryStringByName('person');
personStr = decodeURIComponent(personStr);
var personObj = JSON.parse(personStr);
alert(personStr);
</script>
</body>
</html>
3.把LocalServer.py和index.html放到同一个文件夹下面。运行LocalServer.py。
4.LocalServer.py也可以被其他py文件调用。例如添加test.py如下
import LocalServer LocalServer.start(8000)
LocalServer.test()
5.运行test.py,将看到同样的结果。
从Python传递JSON到JavaScript的更多相关文章
- JSON 的正确用法:Python、MongoDB、JavaScript与AjaxJSON 的正确用法:Python、MongoDB、JavaScript与Ajax
本文主要总结网站编写以来在传递 JSON 数据方面遇到的一些问题以及目前采用的解决方案.网站数据库采用 MongoDB,后端是 Python,前端采用“半分离”形式的 Riot.js,所谓半分离,是说 ...
- Python中json的简单读写操作
Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- Json概述以及python对json的相关操作
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
先看一下我要实现的功能界面: 这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...
- Json概述以及python对json的相关操作(转)
什么是json: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programm ...
- python解析json
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 引用 import json 编码:把一个Python对象编码转换成Json字符串 json.dumps ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- python 解析json loads dumps
认识 引用模块 重要函数 案例 排序 缩进参数 压缩 参考 认识 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standa ...
- jQuery调用WCF服务传递JSON对象
下面这个示例使用了WCF去创建一个服务端口从而能够被ASP.Net页面通过jQuery的AJAX方法访问,我们将在客户端使用Ajax技术来 与WCF服务进行通信.这里我们仅使用jQuery去连接Web ...
随机推荐
- 文件I/O(不带缓冲)之close函数
可调用close函数关闭一个打开的文件: #include <unistd.h> int close( int filedes ); 返回值:若成功则返回0,若出错则返回-1. 关闭一个文 ...
- 老蜗牛写采集:一个漂亮的客户端-几个C#平台下的Winform 皮肤控件
搞采集多年,避免不了搞个简单的UI来曹州,所谓人靠衣装马靠鞍,一套漂亮的皮肤会给你的程序带来高大上的感觉.有时候老板也是看心情的,好的东西总归可以避免点缺点.今天给大家介绍几个曾经研究过的WinFor ...
- Android_listView
package com.example.app5; import java.util.ArrayList; import java.util.HashMap; import java.util.Lis ...
- CentOS 6 下安装Python 3
可以下载各个版本的python:https://www.python.org/ftp/python/ 配置安装 下载最新的安装包(截止2013/11/05),还是3.3.2版本. #wget http ...
- tcpdf MultiCell line break
在程序中,我遇到MultiCell中显示三个字符串,开始时 $pdf->MultiCell(63.5, 30, $name."\n".$address."\n&qu ...
- 用于主题检测的临时日志(fe4edac1-b4f4-4673-ae87-110cbb7dbb5a - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
这是一个未删除的临时日志.请手动删除它.(25ea5485-9168-424b-a30c-09cc1371e2d9 - 3bfe001a-32de-4114-a6b4-4005b770f6d7)
- Azure Redis Cache作为ASP.NET Session状态提供程序
从上一篇博客<使用Azure Redis Cache>我们已经可以创建并使用Redis Cache为我们服务了. 作为Web开发者,我们都知道Session状态默认是保存在内存中的,它的优 ...
- 解决IllegalStateException: Can not perform this action after onSaveInstanceState:
今天做项目中的支付宝功能,是在fragment中做的,在支付成功后,想切换到支付成功的页面. 结果就报错了IllegalStateException: Can not perform this act ...
- 对象创建型模式------Abstract Factory(抽象工厂)
1. 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.2. 别名 Kit3. 动机 假设我们要开发一款游戏,当然为了吸引更多的人玩,游戏难度不能太大 ...
- 第一篇、CSS3_transtion的使用
<html> <head> <title>这是一个CSS3的特性</title> <style> #box{ width: 150px; h ...