我使用$ .ajax函數將json數據發送到服務器端函數。
var jsonObjects = [{id:1, name:"amit"}, {id:2, name:"ankit"},{id:3,name:"atin"},{id:1, name:"puneet"}];
$.ajax({
url: "{{=URL('myControllerName')}}",
type: "POST",
context: document.body,
data: {students: JSON.stringify(jsonObjects) },
dataType: "json",
success: function(){
alert('ok');
}
});
在serverside函數中,如何訪問數據?
總得有人給Grails的代碼爲:---
//this code is written in grails
import grails.converters.JSON;
List<JSON> students = JSON.parse(params.students) //students in request params is parsed to json objects and stored in the List
println "Student id: " + students[0].studentId //first element of the students list is accessed as a map holding a key studentId
我想這樣做在Python Web框架即。 web2py中。
試圖訪問它作爲params.students和request.students,但沒有運氣。
訪問發送的數據的正確語法是什麼? (我檢查了jQuery API,但找不到相同的內容)。
感謝,
維尼特
Python 2.6有一個'json'模塊,可以用來解析JSON(請參閱[如何使用Python解碼JSON](http://stackoverflow.com/q/2331943/218196 ))。至於web2py如何處理請求,請查看其文檔。 – 2012-02-21 11:05:56
我導入了json模塊並嘗試解析數據。沒有JSON錯誤。但是由於數據分配不正確而引發的錯誤(在params.students中,params沒有定義)。 – Vineet 2012-02-21 11:10:01
這就是爲什麼我說你必須閱讀關於web2py,他們如何使請求數據可用。你不能複製和粘貼不同語言的代碼。顯然,web2py不提供'params'變量。我很確定這是由一些教程所覆蓋。 – 2012-02-21 11:12:48