基本的に、django でhttp://www.w3schools.com/jquery/jquery_ajax_get_post.aspに似たものが必要です。サンプルをダウンロードし、localhost + php を使用してローカルでテストしましたが、問題なく動作しますが、例がどれほど単純であっても、django で動作させることができないようです。これは基本的に、上記のリンクの例に基づいて、わずかな変更を加えて行ったことです
JavaScript:
<script type="text/javascript">
$(document).ready(function(){
$("#my_form").submit(function(){
$.post("",
{name:"Donald Duck",
city:"Duckburg"},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
})
.fail(function() { alert("error"); });
return false;
});
});
</script>
URL:
url(r'^ajax/$', views.ajax_test, name="ajax"),
ビュー:
def ajax_test(request):
if request.method == 'POST' and request.is_ajax():
name = request.POST['name']
city = request.POST['city']
message = name + ' lives in ' + city
return HttpResponse(json.dumps({'message': message})) #tried without the json. Doesn't work either
return render(request, 'books/ajaxTest.html')
html:
<form id="my_form" action="" method="post" {% if form.is_multipart %}enctype="multipart/form-data"{% endif %}>{% csrf_token %}
<input type="submit" value="Send">
</form>
フォームにはdjangoフォームが含まれていると思われますが、基本的なことすらできないので、それはちょっと無意味です。誰かがcsrf_tokenタグについて言及しましたが、それを削除しても問題は解決しません。上記の例の出力は、基本的に alert('error') のみを生成し、他には何も生成しません。私は非常に多くの例を経験してきましたが、最も基本的なものを機能させることさえできません