2012-02-21 85 views
3

我使用$ .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,但找不到相同的内容)。

感谢,

维尼特

+0

Python 2.6有一个'json'模块,可以用来解析JSON(请参阅[如何使用Python解码JSON](http://stackoverflow.com/q/2331943/218196 ))。至于web2py如何处理请求,请查看其文档。 – 2012-02-21 11:05:56

+0

我导入了json模块并尝试解析数据。没有JSON错误。但是由于数据分配不正确而引发的错误(在params.students中,params没有定义)。 – Vineet 2012-02-21 11:10:01

+1

这就是为什么我说你必须阅读关于web2py,他们如何使请求数据可用。你不能复制和粘贴不同语言的代码。显然,web2py不提供'params'变量。我很确定这是由一些教程所覆盖。 – 2012-02-21 11:12:48

回答

4

你困惑。

“如何访问服务器端的数据”与jquery无关,并且与您的服务器端Web框架无关。

您需要从请求对象中提取数据;在这里的web2py文档在这里:http://web2py.com/book/default/chapter/04#request

+0

太棒了! request.vars.students工作。我不知道。非常感谢你 !!我已经接受了这个答案:-) – Vineet 2012-02-21 11:25:58

+0

@Vineet:没问题!我总是乐于帮助人们学习如何解决自己的问题。 – Marcin 2012-02-21 11:39:59

相关问题