2013-03-25 193 views
0

我正在運行一個外部網站,該網站從內部公司Intranet上的iframe收集數據。這部分是用Javascript編寫的並且正在工作。但是,現在我需要訪問js正在收集的數據以便在python中進一步處理它。這不是一個用Javascript處理的選項,在技術上也是不可能的。Javascript/python設計幫助

我希望有一些關於從哪裏出發的建議?我如何獲得JavaScript數據到我的Python腳本?

+0

歡迎的土地[AJAX](http://en.wikipedia.org/wiki/Ajax_%28programming%29)。 – raina77ow 2013-03-25 12:20:57

+0

您是否在客戶端使用了一些AJAX庫,比如jquery,dojo,prototype,...?如果沒有,你應該這樣做。 – Fabien 2013-03-25 12:22:52

+0

我正在使用jQuery。 – Difusio 2013-03-25 12:24:31

回答

1

您將需要使用AJAX調用將JavaScript數據傳遞到後端的服務器以供Python進行處理,最好的方法是將數據編碼到JSON對象中並將其傳遞給AJAX調用:

json_obj = {your:[data]}; 
$.ajax{ 
    url: [url of webservice/action], 
    type: "POST", 
    data: json_obj, 
    dataType: "json", 
    success: function(result) { 
    //Write your code here 
    } 
} 
//Note that this does run asynchronously, so the code that follows this will not wait for the ajax call to finish 

Python有一個漂亮的模塊,JSON,您可以使用使用來解碼JSON對象爲Python對象:

import json 

data_obj = json.loads(json_data_string) 

這將讓你在你的JavaScript組裝,然後JSON字符串傳遞給第帶有AJAX的ython轉換爲Python結構(字典或列表,取決於您的對象的構建方式)以實現輕鬆的Python處理。

您可以通過使用轉儲()函數,然後傳遞一個JSON字符串返回:

data_str = json.dumps(data_obj) 

來源: