2013-10-16 74 views
-1

我有一個HTML表單,帶有一個jQuery腳本來使其動態化。如何將jQuery變量傳遞給Python腳本?

我用的Apache2 debian下喘息服務器,

的MongoDB數據庫,

Pymongo作爲司機,

最後,當表單完成後,所有字段都存儲在在我的.js文件中的變量,用JSON格式如下:

var payload = {"field1":"Richard","field2":"Berroy"} 

當你點擊提交按鈕,我使用AJAX後功能:

$("#submitbtn").click(function() { 
var payload = {"field1":"Richard","field2":"Berroy"} 
$.post('python/mongo_brief_write.py', {bn: payload}); 

mongo_brief_write.py的目標是有效載荷VAR的內容插入到我的MongoDB數據庫的收集,使用pymongo驅動程序。

這裏是我這個python腳本代碼:

import pymongo 
import json 
import requests 
from pymongo import Connection 
//test = {"field1":"Richard","field2":"Berroy"} 
chain = request.POST[bn] 
con = Connection("mongodb://192.xxx.xx.xxx/") 
db = con.central 
collection = db.brief 
post_id = collection.insert(chain) 

如果讓我選擇我的測試變種,它工作正常,但我始終有一個問題,如果我的評論測試和使用,請求行,我不現在如何從我的jQuery表單中獲取該json對象,並將其存儲在數據庫中?

謝謝

+0

有什麼錯誤,檢查您的post variable測試信息做到了你得到?順便說一下,你應該使用'#'來評論python代碼。 –

+0

Hi Leon,你對# 我有 'POST http://192.168.15.200/central/python/mongo_brief_write.py 500(內部服務器錯誤)jquery-1.8.3.js:8434 send jquery-1.8.3.js:8434 jQuery.extend.ajax jquery-1.8.3.js:7986 (匿名函數)central.js:910 jQuery.event.dispatch jquery-1.8.3.js:3058 elemData.handle.eventHandle' – Manuhoz

回答

0

嘗試使用get

chain = request.POST.get('bn') 

使用

request.post_vars 

網址可以幫助你Passing list of values to django view via jQuery ajax callGet data from POST ajax call using web2py

+0

謝謝Rohan,我不明白爲什麼我需要使用wep2py,Django或pybottle來執行一個簡單的操作。我的意思是在另一方面,它是這麼簡單,我有一個Python腳本與pymongo讀取我的數據庫,並傳遞內容作爲JSON對象在我的jQuery環境中用於顯示目的沒有第三方程序。現在我只是想在我的MongoDB中寫入表單的內容,它有什麼不同? – Manuhoz

+0

我已經嘗試了上面的請求,並且我有同樣的錯誤,我應該在python腳本中導入某些內容嗎? – Manuhoz