1
感謝您花時間查看我的問題。Sammy.js沒有將JSONP請求呈現給Django應用程序
我在前端創建了一個與Sammy.js混合的應用程序,而在後端創建了Django。我的網站只是通過CloudFront在S3上託管的一個index.html,並且不,它不是作業:)
我想呈現路線「#/ projects」的類別列表,類別來自一個JSONP請求到我的Django後端,運行在不同的域。
我的Django的看法:
def get_categories(request):
jsoncallback = request.GET.get('jsoncallback')
data = {'categories': [{'name': c.name, 'slug': c.slug} for c in categories]}
jsonp = '{0}({1});'.format(jsoncallback, data)
response = json.dumps(jsonp, ensure_ascii=False)
return HttpResponse(response, content_type='application/json')
我薩米路線:
(function($) {
var app = $.sammy('#app', function() {
// (default route here)
this.get('#/projects', function(context) {
// localhost via manage.py runserver
$.getJSON('http://localhost:8000/projects/categories/?jsoncallback=?',
null, function(categories) {
$.each(categories, function(i, category) {
console.log('here');
// code to render template here
});
});
});
$(function() {
app.run('#/');
});
})(jQuery);
調用到螢火蟲我Django的視圖響應部分是:
"jQuery183018328394494212097_1372132674985({'categories':
[{'name': u'Open Source', 'slug': u'open-source'},
{'name': u'Web Development', 'slug': u'web-development'},
{'name': u'Print', 'slug': u'print'}]});"
但是,我console.log
聲明從未達到。我不確定我做錯了什麼。有人可以請指點我正確的方向嗎?不幸的是,幾個小時的修補和跟隨網絡上的許多JSONP示例並沒有幫助。