views.pyジャンゴするAJAX要求を行う:文字列サーバー
def get_accounts(request):
if request.is_ajax():
res = ["foo","bar"]
json = simplejson.dumps(res)
return HttpResponse(json, mimetype='application/json')
return HttpResponseNotFound
urls.py:
(r'^get_accounts/$', 'get_accounts'),
client.html:
$.get('/django/backoffice/bopanel/get_accounts',{'acc':$('.nr').text().replace(/^\s+||\s+$/g,'')}, function(data) {
alert(data[0]);
});
、私は非常にだったがコンテンツを含むアラートボックスを取得すると驚いた:
"["
私は配列の代わりに文字列を持っています、私は私にとって非常に奇妙で、間違いなく私が期待したものではありません。
GET http://127.0.0.1:8000/django/backoffice/bopanel/...nts?acc=17114%2FF01055%2FTP%0A%09%09++++++++++++
301 MOVED PERMANENTLY
24ms
GET http://127.0.0.1:8000/django/backoffice/bopanel/...ts/?acc=17114%2FF01055%2FTP%0A%09%09++++++++++++
200 OK
16ms
私は2つの要求を取得し、なぜ最初の301件のステータスを持っている理由私は理解していない:放火犯で
は、私は2つの、後続のGETリクエストを参照してください。私はこれがどのようにjsonを文字列として表示するのか分かりません。どんな助け?
JSONは常に文字列です。常に。 –
Ignacioは申し訳ありませんが、 "["の代わりに "foo"が警告で表示されることを期待しています。これがjqueryの仕組みです - jsonの文字列は評価され、成功したときに実行される関数に渡されます。 – mnowotka
Aaaand ...どこで評価しますか? –