2017-12-30 6 views
0

申し訳ありませんこれは素朴な質問ですが、私はTrello APIを使ってカードを作成しています。これは正常に動作しますが、スクリプトの実行中に新しく作成されたカードのID変数がコンソールに表示されます。私はこの変数を受け取り、私のpythonコードに戻したいと思います。これは可能ですか? PythonからHTMLに変数を渡すためにJinja2を使用していますが、ここで使用できますか?コンソール出力から変数を保存するJavascipt/Python/Jinja2

これはChromeのコンソールへの出力です。最初のID変数を取得してPythonコードで処理できるようにしたいと思います。ここで

{ 
    "id": "5a46fa28620367df83fe08f7", 
    "badges": { 
    "votes": 0, 
    "attachmentsByType": { 
     "trello": { 
     "board": 0, 
     "card": 0 
     } 
    }, 
    "viewingMemberVoted": false, 
    "subscribed": false, 
    "fogbugz": "", 
    "checkItems": 0, 
    "checkItemsChecked": 0, 

は私のJavascriptです:

var authenticationSuccess = function() { 
    console.log('Successful authentication'); 
}; 

var authenticationFailure = function() { 
    console.log('Failed authentication'); 
}; 

window.Trello.authorize({ 
    type: 'popup', 
    name: 'Work Requests App', 
    scope: { 
    read: 'true', 
    write: 'true' }, 
    expiration: 'never', 
    success: authenticationSuccess, 
    error: authenticationFailure 
}); 

//console.log(trelloTitle); 
//console.log(trelloContent); 

var myList = '5a3ec86f7920a6e66b28e4bc'; 

var creationSuccess = function (data) { 
    console.log('Card created successfully.'); 
    console.log(JSON.stringify(data, null, 2)); 

}; 

//var data = $('#resultsdata').data(); 
//console.log(trelloId); 



var newCard = { 
    name: trelloTitle, 
    desc: trelloContent, 
    // Place this card at the top of our list 
    idList: myList, 
    idMembers: trelloId, 
    pos: 'top' 
}; 


window.Trello.post('/cards/', newCard, creationSuccess); 

EDIT:

var creationSuccess = function (data) { 
    console.log('Card created successfully.'); 
    console.log(JSON.stringify(data, null, 2)); 
    var url = "/ajaxtest"; 
    $.post(url, {card_id: data.id}); 
}; 

私はPythonのメソッドにcard_idを渡す難しさを持っています:

私は今、このAJAXメソッドを使用しています
class AjaxTest(webapp2.RequestHandler): 
    def post(self): 
     data = card_id 

私はこれが間違っていることを知っています誰も助けることができますか?

+1

JSONオブジェクトを 'creationSuccess'関数でコンソールに出力しているようです。あなたのPythonサーバーにデータを送ってきて、あなたのために仕事をしますか? –

+0

はい、私はJSONから必要なものを取り出し、それを私のPythonコードに戻す方法はわかりません。 – user9109814

+1

あなたは 'data.id'を使ってidにアクセスできるはずです。それからAJAXコールをサーバに送信するだけです。 –

答えて

0

ここで完全な答えです:

var creationSuccess = function (data) { 
    console.log('Card created successfully.'); 

    var http = new XMLHttpRequest(); 
    var url = "URL to your server (where you want to send the data)"; 

    http.open("POST", url, true); 

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

    http.send("card_id=" + data.id); 
}; 

これは、AJAX呼び出して(あなたが指定したURLへの)サーバーにcard_idとしてカードIDを送信します。

これは、純粋なJavascriptを使用していることを前提としています。 jQueryを使用している場合は、AJAX呼び出しを行うほうがはるかに簡単です。以下のような:

var creationSuccess = function (data) { 
    console.log('Card created successfully.'); 
    var url = "URL to your server"; 
    $.post(url, {card_id: data.id}); 
}; 

編集:サーバーのコードについては、あなたは今、このようなcard_idを受け取ることができます:

class AjaxTest(webapp2.RequestHandler): 
    def post(self): 
     data = self.request.get('card_id') 

希望に役立ちます。

+0

ありがとうございます!私はほとんどこれが働いていると思う、私は私のpythonコードを表示するために私のポストを更新しました - 私は 'card_id'を私のpythonメソッドに渡す方法がわかりません。とにかくこれを答えとしてマークします。 – user9109814

+0

私はWebapp2を使用しています。 – user9109814

+0

OK、自分の編集を確認してください。 –

関連する問題