Witam,
Jest to moje pierwsze podejście do problematyki Ajaxa w Pythonie. Niestety nie mogę napisać prostego działającego kodu. Tak więc prosba o pomoc. Tak to wyglada u mnie:
Mam taki oto url:
url(r'^ajax_test/', views.ajax_test, name='ajax_test')
Prościutki widok:
def ajax_test(request):
response_data = {'english': 'have', 'polish': 'mieć', 'sentence': 'Alice has got a cat.'}
return render(request, 'languages/ajax_test.html', response_data)
I szablon z js w jednym (oczywiście tylko w celach testowych):
<button>Klik</button>
<p>Przykładowy tekst</p>
<script>
$(document).ready(function(){
$('button').click(function(){
$.ajax({
type: 'POST',
url: 'ajax_test/'
}).done(function(data){
alert('Ok: ' + data)
}).fail(function(){
alert('Error!')
})
})
});
</script>
Finał jest taki, że kliknięcie w "button" kończy sie alertem z napisem "Error!" ;/
Konsola zwraca natomiast cos takiego:
[04/Jul/2016 20:21:35] "GET /static/js/languages/scripts.js HTTP/1.1" 304 0
Forbidden (CSRF token missing or incorrect.): /languages/ajax_test/ajax_test/
[04/Jul/2016 20:21:38] "POST /languages/ajax_test/ajax_test/ HTTP/1.1" 403 2311
Chciałbym zwrócić uwagę na drugą i trzecią linię: skąd po raz drugi w ścieżce "ajax_test"?