来自django模板的Ajax调用
我有一个django模板,它扩展了基本模板,该模板具有在其中加载jquery的代码。 这个模板有一个简单的文本框,我想通过ajax获取对象。
{% extends 'base.html' %} {% block content %} $('#ajaxform').submit(function(){ console.log('Form submitted'); $.get('{% url get_ajax_data %}', $(this).serialize(),function(data){ $('#dataDiv').text(data); }) return false; }); {% endblock %}
在这个模板中,我尝试对get_ajax_data url进行ajax调用,在相应的视图中我只返回文本作为return HttpResponse('Ajax respose')
。 但这似乎不起作用,表单在我返回false时提交。 我不确定我错过了哪里。
直到答案,通常的做法是初始化submit()
处理程序。 这是通过在页面准备好时进行设置来完成的。 目前你有它以常规方式提交表单,它甚至没有注册你的JavaScript。 要修复它你可以写:
$(document).ready(function() { $('#ajax_form').submit(fun // the rest of your code here. });
如果jQuery事件处理程序中存在错误,则会以静默方式失败。 检查明显的事情,比如缺少分号等。确保事件处理程序中的所有内容都有效,它应该可以正常工作。