基本上我需要类似于http://www.w3schools.com/jquery/jquery_ajax_get_post.asp在 django 中完成的东西。我已经下载了示例并使用 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(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') 而没有别的。我经历了很多例子,但我什至无法让最基本的例子起作用