2011-11-02 32 views
0

我想弄清楚如何用AJAX發送多個字段。我會使用GET還是POST?用AJAX發送多個字段

我正在使用Python服務器頁面。我希望我的字段根據在選擇框中選擇的選項進行更新 - 據我所知,迄今爲止我已經完成了這項工作,但我只是想知道如何通過XMLHttpRequest發送多個離散數據片段。

fname = c.execute("""SELECT fname from employees WHERE user = %s;""", (uname)) 

lname = c.execute("""SELECT lname from employees WHERE user = %s;""", (uname)) 

email = c.execute("""SELECT email from employees WHERE user = %s;""", (uname)) 

deptid = c.execute("""SELECT dept_id from employees WHERE user = %s;""", (uname)) 

active = c.execute("""SELECT active from employees WHERE user = %s;""", (uname)) 

sentient = c.execute("""SELECT sentient from employees WHERE user = %s;""", (uname)) 

我會擁有所有這些數據,並希望他們送回我的其他網頁。我將如何做到這一點,以便它更新異步?

注意,我想把這個從服務器發送到客戶端頁面。即如果用戶從客戶端頁面上的選擇框中選擇了不同的用戶名(這裏不顯示,哪些將通過POST或GET發送),所有這些字段將被髮回到我的主頁並顯示給用戶。

+0

沒有先生,你要做的是什麼叫做「SQL注入」,它應該是很久以前被遺忘的巫術。 – Lachezar

+0

@Lucho,我認爲他發佈的代碼是在服務器端,而不是客戶端,他需要將這些字段發送給客戶端,認爲它不完全清楚。 –

+0

是的,這些需要發送給客戶。 –

回答

1

雖然我不熟悉Python,但我敢打賭,有一種方法可以將數據序列化爲JSON以返回客戶端。

{"fname" : "Bob", "lname" : "Johnson", "email" : "[email protected]" ... } 

在客戶端,你則能夠穿越喜歡你的數據將任何其他JavaScript對象:

var fname = response.fname; // etc 
+0

美麗!謝謝。 –

1

我假設你有一些辦法處理請求客戶端等?您必須決定客戶端和服務器之間的某種協議。 JSON對此非常方便,因爲JavaScript很容易解析它。

所以,你的序列化對象的Python(見http://docs.python.org/library/json.html):

import json 
print json.dumps({ "fname": fname, "lname": lname }) # etc. 

然後請求頁面;例如與jQuery:

$.getJSON("url/to/page", function(data) { 
    // do something 
}