コールバックで帰ってくるってのがよくわかんなかった話
簡単なmixiアプリさえつくれない
widget.xml
<span id="message"></span> <script> opensocial.requestShareApp("VIEWER_FRIENDS", null, function(response) { var url = "http://hogehoge.com/"; var params = {}; params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT; params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(post_data); params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE; gadgets.io.makeRequest(url, function(response){ document.getElementById('message').innerHTML = response.text; } , params); }); </script>
views.py
from django.views.decorators.csrf import csrf_exempt from django.http import HttpResponse @csrf_exempt def mixi(request): return HttpResponse('hogehoge')
ほとんどサンプルコードの丸写し。これをDjangoの鯖にPOSTで渡す方法がわからなくて模索していた。thx @torufurukawa
処理の流れ
- gadgets.io.makeRequest(url, callback, params)が主な処理
- urlに渡したいURLを設定
- paramsにいろんなオプションを設定する
- こうするとURLにリクエストが飛ぶ。URLにリクエストが飛んだらDjango側で処理する。この場合は'hogehoge'と返す
- Django側で処理した内容が入った関数が実行される(callback)。この場合はmessageにhogehogeを追加する
蛇足
しにたい