2011-01-10 4 views
0

ここにクライアント側のコードがあります。Google App Engineを使用してリモートコンテンツを取得する際の問題

function response(obj) 
    { 
    var r = obj.data; 
    alert(r['name']); 
    } 

サーバー側で、JSONを送信するPythonコードである間:

だけです
class GetRecent(webapp.RequestHandler): 
    def get(self): 
     self.response.out.write({'name':'geocities'}) #i know this is where the problem is so how do i encode json in GAE? 

それはinsdide Googleガジェット

var params = {}; 
    params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON; 
    var url = "http://invplatformtest.appspot.com/getrecent/"; 
    gadgets.io.makeRequest(url, response, params); 

応答関数が実行されていますJsonでエンコードされた文字列 を送り返すことになっていましたが、これを実行すると、javascriptによって次のエラーがスローされます。

r is null 
    alert(r['name']); 

私はTEXTの内容を受信して​​いて、私のサーバーはTEXTを送信するとすべて正常に動作します。 JSONを送信しようとしているときにのみこの問題が発生します。どこに問題がありますか? AppEngineでJSONを間違った方法でエンコードしていますか?私はJSONライブラリを使ってみましたが、これがサポートされていないかのように見えます。

どこに問題がありますか? :

答えて

1

問題は、JSONをまったくエンコードしていないということです。あなたはPython辞書をself.request.out.writeに渡して、何をするかを知っていることを期待しています。django.utils.simplejsonsimplejson.dumps()を辞書に書き込んでJSONに変換してください

+0

true ... pythons native jsonライブラリを試してみましたが、明らかに動作しませんでした... djangoのsimplejsonを指摘してくれてありがとう – dade

関連する問題