Djangoから受け取ったデータをAjaxで表示させたいです。
djangoのviews.pyに
@csrf_exempt def top(request): if request.method == 'POST': jsn = json.loads(request.body.decode("utf-8")) jsn = jsn[0] print(jsn) else: jsn = {} return render(request, 'top.html', jsn)
とかいてtop.htmlに
<body> <div id="name"></div> <script> fetch("/top/") .then(response => response.json()) .then(jsn => { console.log(jsn) const name = document.getElementById('name'); name.textContent = jsn['name']; }) </script> </body>
と書きました。topメソッドにアクセスしてprint(jsn)を表示しましたが、jsnに中身が入っていることが確認できました。
しかしtop.htmlには何も表示されませんでした。
fetchはajaxのメソッドではないのでしょうか?topメソッドにアクセスしたら、urlをロードしなくてもtop.htmlの内容が自動でajaxで書き換わることを想定しています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/29 12:48
2020/10/30 00:57
2020/10/31 03:28
2020/11/01 05:38