2011-12-10 12 views
2

アップロードしたいファイルが既にファイルリストにある場合(上書きする)、Javascriptを使用してGoogle App(Google App Engineにあります)に問い合わせています。XMLHttpRequestへの返信方法

リクエストを送信する方法はわかりましたが、サーバーからPythonを使用してレスポンスを作成するにはどうすればよいですか?

これが要求です:ご覧のとおり

var req = new XMLHttpRequest(); 

    req.open('POST', 'https://safeshareapp.appspot.com/upload', async); 

    req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    req.setRequestHeader("Content-length", body.length); 
    req.setRequestHeader("Connection", "close"); 

    if (async) { 
    req.onreadystatechange = function() { 
     if(req.readyState == 4 && req.status == 200) { 
     var response = null; 
     try { 
     response = JSON.parse(req.responseText); 
     } catch (e) { 
     response = req.responseText; 
     } 
     callback(response); 
     } 
    } 
    } 

    // Make the actual request 
    req.send(body); 

、すべてがOKになった後、私たちは要求からresponseTextを取得しているが、私の質問は、私たちは、サーバー側でそのresponseTextフィールドを埋めるんかです??

+0

あなたはどの言語を使用していますか? PHPを使用しているとします。そして、あなたは以下を使うことができます: '<?php ...........;エコーjson_encode($ variable_to_serialize); ?> ' –

+0

私たちはPythonを使用しています – c4sh

答えて

6
class MyRequestHandler(webapp.RequestHandler): 
    def get(self): 
     import json 
     result = {"filename": xxx} // just an example, result can be any Python object 
     json_obj = json.dumps(result) 
     self.response.out.write(str(json_obj)) 
+0

完了!ありがとう! – c4sh

+0

@ c4sh問題が解決した場合は、回答の受け入れ(回答の左側)をクリックしてください。それが本当に役に立つなら、答えもアップ*アップ*します。 –

+0

私は評判が15未満であるので、アップヴォートできません – c4sh

関連する問題