$ .ajax函数:发送json数据:解析服务器端函数
问题描述:
我使用$ .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,但找不到相同的内容)。
感谢,
维尼特
答
你困惑。
“如何访问服务器端的数据”与jquery无关,并且与您的服务器端Web框架无关。
您需要从请求对象中提取数据;在这里的web2py文档在这里:http://web2py.com/book/default/chapter/04#request
Python 2.6有一个'json'模块,可以用来解析JSON(请参阅[如何使用Python解码JSON](http://*.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