所以,我試圖使用jQuery .getJSON到我的本地web服務器使用python/django來提供其請求的簡單調用。正在使用的地址是:jQuery getJSON輸出使用Python/Django
http://localhost:8000/api/0.1/tonight-mobile.json?callback=jsonp1290277462296
我想寫可以訪問這個URL,返回(後來擔心實際的元素值/佈局)一個JSON數據包作爲結果一個簡單的Web視圖。
這是我在剛剛警告/返回數據進行簡單的嘗試:
$.getJSON("http://localhost:8000/api/0.1/tonight-mobile.json&callback=?",
function(json){
alert(json);
<!--$.each(json.items, function(i,item){
});-->
});
我能夠直接訪問這個URL,無論是在http://localhost:8000/api/0.1/tonight-mobile.json或http://localhost:8000/api/0.1/tonight-mobile.json&callback=jsonp1290277462296和拿回有效的JSON包...所以我假設它在我的小白的JavaScript是產生該響應:)
我views.py功能如下所示:
def tonight_mobile(request):
callback = request.GET.get('callback=?', '')
def with_rank(rank, place):
return (rank > 0)
place_data = dict(
Places = [make_mobile_place_dict(request, p) for p in Place.objects.all()]
)
xml_bytes = json.dumps(place_data)
xml_bytes = callback + '(' + xml_bytes + ');'
return HttpResponse(xml_bytes, mimetype="application/json")
相應urls.py配置:
(r'^tonight-mobile.json','iphone_api.views.tonight_mobile'),
我仍然對如何使用回調有些困惑,所以也許這就是我的問題所在。注意我可以直接調用一個'blah.json'文件給我一個響應,但不能通過有線URL。有人能幫助我一些方向嗎?
S.洛特,謝謝你的迴應。然而,你的回答似乎沒有給我任何結果 - 只是在我看來的錯誤,說: 'QueryDict'對象是不可調用的。 – user546459 2010-12-21 03:19:34
@ user546459:我做了一個改變。你知道,你可以做「調試」。你嘗試不同的事情。添加'print'語句。實驗。這是允許的,你知道的。 – 2010-12-21 12:16:35