How to use google app engine with ajax (json)?
如何将谷歌应用引擎与Ajax(JSON)结合使用?
现在我有了这个,但我得到了这个错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app import simplejson as json class AjaxHandler(webapp.RequestHandler): def post(self): args = json.loads(self.request.body) self.response.headers['Content-Type'] = 'application/json' self.response.out.write('Hello, webapp World!') application = webapp.WSGIApplication( [('/AJAX', AjaxHandler)], debug=True) def main(): run_wsgi_app(application) if __name__ =="__main__": main() |
以及javascript+jquery:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | var Server = function() { }; Server.prototype = { init: function(ajaxTargetUrl) { this.ajaxTargetUrl = ajaxTargetUrl; }, request: function(service, data) { $.ajax({ url: this.ajaxTargetUrl, context: document.body, success: function(data) { $('body').append('<p> '+data+' </p>'); }, error: function(){ $('body').append('<p> error </p>'); }, data: data, type: 'POST', dataType: 'json' }); } }; var APP = ( function() { var server = new Server(); server.init('http://localhost:9999/AJAX'); server.request('questions.all', {test:'hey', y:99}); }()); |
号
我的self.request.body=str:test=hey&y=99
只要我知道
如果需要已发送给服务器的所有参数的"列表",请使用
埃多克斯1〔6〕
然后
江户十一〔七〕号
在客户端,我建议您使用console.log()(调试工具)来测试您的响应。
您可以尝试:埃多克斯1〔8〕
您的javascript没有向应用程序引擎发送JSON数据(