Cug*_*uga 2 javascript python ajax jquery google-app-engine
我正在使用Google App Engine(Python)和jQuery来调用服务器的Ajax.我有一个页面,我想从Ajax调用到服务器加载Javascript中的字符串列表.
我想调用的服务器方法:
class BrowseObjects(webapp.RequestHandler):
def get(self):
ids_to_return = get_ids_to_return()
// TODO: How to return these ids to the invoking ajax call?
self.response.out.write(ids_to_return)
Run Code Online (Sandbox Code Playgroud)
我希望能够访问返回的ID的HTML页面:
var strings_from_server = new Array();
$.ajax({
type: "GET",
url: "/get_ids.html",
success: function(responseText){
// TODO: How to read these IDS in here?
strings_from_server = responseText
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
我对Ajax的体验是有限的 - 我只使用它们将数据存储到服务器(a-la POST命令),所以我真的不知道如何从服务器获取数据.在此先感谢您的帮助
编辑:我的最终答案:
我已经切换到完整的Ajax调用(以防止跨域请求)并且还处理'错误'回调.我的工作客户端方法如下:
$.ajax({
type: "GET",
dataType: "json",
url: "/get_ids.html",
success: function(reponseText){
strings_from_server = responseText
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
注意我将dataType指定为'json'.
我的最终服务器功能,与sahid的答案,看起来像:
class BrowseObjects(webapp.RequestHandler):
def get(self):
ids_to_return = get_ids_to_return()
# Note: I have to map all my objects as `str` objects
response_json = simplejson.dumps(map(str, ids_to_return))
self.response.out.write(response_json)
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
谷歌AppEngine的SDK由django提供的lib"simplejson".
from django.utils import simplejson
所以你的处理程序可能只是:
from django.utils import simplejson
class BrowseObjects(webapp.RequestHandler):
def get(self):
ids_to_return = get_ids_to_return()
response_json = simplejson.dumps (ids_to_return)
self.response.out.write(response_json)
Run Code Online (Sandbox Code Playgroud)
有一篇关于ajax/rpc的好文章:http://code.google.com/appengine/articles/rpc.html
| 归档时间: |
|
| 查看次数: |
2513 次 |
| 最近记录: |