Я пытаюсь реализовать простейший AJAX POST, о котором я могу подумать, потому что я новичок в AJAX и JQuery. Идея такова: у меня есть кнопка, и когда она нажата, я хочу отправить основные данные POST на ту же страницу (страница: http://{{ мой IP-адрес}} / django / ajax /).
В моем файле .html у меня есть:
<script type="text/javascript">
function pythonizer(){
$("#msgid").append("it SHOULD post after this is appended");
$.ajax({
url: '/django/ajax/',
type: 'POST',
data: {'obj': "test string"},
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function(response) {
alert(response);
}
});
}
</script>
<div id="msgid">
</div>
<input type="button" id="myButton" value="click me" onclick="pythonizer()" />
И моя соответствующая функция в view.py:
def ajax(request):
if request.method == 'POST':
return HttpResponse("Hello AJAX")
return render_to_response('huh.html', {})
Просто, верно? Проблема, однако, заключается в том, что когда я нажимаю кнопку, «ДОЛЖНО быть опубликовано после добавления» успешно добавляется в div, но больше ничего не происходит, HttpResponse («Hello AJAX») не возвращается, POST не за работой!
То, что я написал, кажется, согласуется с документацией, которую я прочитал, но у меня есть ощущение, что я либо упускаю что-то глупое, либо пытаюсь упростить POST. Заранее спасибо!