# RESTful Evertywhere
## 15.1 Javascript與ajax
> AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML),是指一種創建交互式網頁應用的網頁開發技術。AJAX = 異步 JavaScript和XML(標準通用標記語言的子集)。
### 15.1.1 jQuery
> Jquery是繼prototype之后又一個優秀的Javascript框架。它是輕量級的js庫 ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后續版本將不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML(標準通用標記語言下的一個應用)、events、實現動畫效果,并且方便地為網站提供AJAX交互。jQuery還有一個比較大的優勢是,它的文檔說明很全,而且各種應用也說得很詳細,同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內容分離,也就是說,不用再在html里面插入一堆js來調用命令了,只需定義id即可。
## 15.2 Java與json
> Gson(又稱Google Gson)是Google公司發布的一個開放源代碼的Java庫,主要用途為串行化Java對象為JSON字符串,或反串行化JSON字符串成Java對象。
### 15.2.1 Android
## 15.3 Python與json
> 使用pySerial可以使Python很好地在Windows/Linux/BSD上執行串口操作。
使用urllib2庫時
~~~
#!/usr/bin/env python
import json
import urllib2
url="http://b.phodal.com/athome/1"
date=urllib2.urlopen(url)
result=json.load(date)
print result
~~~
### 15.3.1 requests
> Python 標準庫中的 urllib2 模塊提供了你所需要的大多數 HTTP 功能,但是它的 API 爛出翔來了。它是為另一個時代、另一個互聯網所創建的。它需要巨量的工作,甚至包括各種方法覆蓋,來完成最簡單的任務。
GET請求
~~~
#!/usr/bin/env python
import requests
url = "http://b.phodal.com/athome/1"
r = requests.get(url)
print r.text
~~~
POST請求
~~~
#!/usr/bin/env python
import requests
url = "http://b.phodal.com/athome/1"
data = {"temperature": 19, "sensors1": 32, "sensors2": 7.5, "led1": 0, "method": "PUT"}
r = requests.put(url, data)
print r.text
~~~