2017-05-21 8 views
1

現在、Javascriptを使ってDjangoサーバーにオーディオをポストし、ポスト処理してJsonResponseを返しています。Django - POST取得後にJsonresponseを表示

私は今、彼らが入って来て私のウェブサイト上でJsonResponseを表示したいと思います。

を私はおそらく私の後に、行われているすべてのPOSTリクエストによってトリガされます私のJSでのリスナーのいくつかのタイプを必要と理解してfetch関数か別の関数か?

私のJs

function makeLink(){ 
    let blob = new Blob(chunks, {type: media.type }) 
    let fd = new FormData; 
    fd.append("audioRecording", blob); 
    fetch("https://localhost/news/audio/", {method:"POST", body:fd}) 
    .then(response => response.ok) 
    .then(res => console.log(res)) 
    .catch(err => console.error(err)); 
} 

このPOSTSオーディオおよび以下のviews.pyトリガー:

def audio(request): 
    if request.method == 'POST': 
     #Store audio 
     #Make some API calls 
     return JsonResponse({"abc":123}) 

今度は、私はプレーンHTMLでTextFieldを持っていると仮定しましょう、私はあることをJsonResponseを希望しますウェブサイトをリロードする必要なくTextFieldに表示されます。

<!DOCTYPE html> 
<html> 
<body> 
<textarea id="text"> 
Response should be here 
</textarea> 
</body> 
</html> 

どうすればこの問題を解決できますか?

+1

あなたのjavascriptの部分でこれを行う必要があります。これであなたの応答をコンソールに表示するだけです(console.log(res))。ここでは、jqueryまたはjavascriptを使用してテキストエリアに応答を追加できます。試してみてください:$( '#text')。append(res); –

+1

また、django-restframeworkで作業することをお勧めします。私はこのフレームワークでも働きます。お試しください - > http://www.django-rest-framework.org/ –

+0

こんにちは、そのresは私が追加したいのと同じ応答ではありません。 @ Patrick85 – Juanvulcano

答えて

1

ここで私はまた、あなたの質問にコメントし私のポスト、:

カスタムテキストボックスにあなたの応答を追加したい場合は、JavaScriptでこれを実行する必要があります。 ActualyあなただけのWebコンソールにあなたの応答を印刷:

console.log(res) 

この部分は、あなたのテキストボックスにあなたの応答を追加するために変更することができます。 jQueryを使って、それはそうなります:

$('#text').append(res); // If 'res' is your response you want to add 

をあなたがしてのみ交換する「RESを」他の何かを追加したい場合。

また、django-restframeworkを使用することをお勧めします。私はこのフレームワークでも働きます。お試しください - >django-rest-framework

関連する問題