views.py:
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]);
});
コンテンツが記載されたアラートボックスが表示されたので、とても驚きました。
"["
つまり、配列ではなく文字列を取得したということです。これは私にとって非常に奇妙で、期待したものではありませんでした。
ファイアバグでは、2つの後続のGETリクエストが表示されます。
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ステータスになるのかわかりません。これによりjsonが文字列として表示される方法がわかりません。何か助けはありますか?