1

我第一次在 django 中使用 ajax .. 我在网上阅读了一些教程,我正在尝试制作一个简单的表单,通过 ajax 发布一些信息。

这是我的html表单

<script src="http://code.jquery.com/jquery-latest.js"></script>

<script type="text/javascript">
function send_request()
{

 $.ajax({
                            type:"POST",
                            url:"/ajaxredirect/",


       });

}
</script>
<button type="button" onclick="send_request();">change content</button>

这是我的观点

def Ajaxquery(request):
        if request.is_ajax():
                return HttpResponse("ok")
        else:
                return HttpResponse("error")

当我单击浏览器中的更改内容按钮时,它什么也不做。

任何建议都会受到重视

4

1 回答 1

1

这是我使用的基本请求/响应设置。我从Django Braces Module获得了 JSONResponse 和 AjaxResponse mixins 。我还确保包含以下 Django CSRF 修复程序,以防止我的 AJAX 请求被视为跨站点请求伪造。

查询:

<script type="text/javascript">
function send_request() {
    $.ajax({
        type: 'POST',
        url: '/ajaxredirect/',
        data: $('#your_form').serialize(),
        crossDomain: false,
        success: function(ctx) { console.log(ctx); },
    });
}
</script>

视图.py

from django.views.generic import View
from braces.views import JSONResponseMixin, AjaxResponseMixin

class AjaxResponseView(JSONResponseMixin, AjaxResponseMixin, View):
    def post_ajax(self, request, *args, **kwargs):
        data = request.POST.items() # form data
        ctx = {'hi': 'hello'}
        return self.render_json_response(ctx)
于 2012-11-07T06:39:00.250 回答