微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 从Ajax调用Django视图

我正在使用Ajax(以及Django)在按钮点击上执行一些操作.我成功调用javascript函数,但我无法调用Django视图.没有错误,但我视图中的print语句不打印…?

urls.py

urlpatterns = patterns('polls.views',
    url(r'^request_access/$', 'request_access',
        name='request_access'),
)

views.py

def request_access(request):
    print("DJANGO VIEW")
    if request.method == "POST":
        print("DATA: ", request.POST.get('request_data'))
        return HttpResponse(
            json.dumps(response_data),
            content_type="application/json"
        )

template.html

<button class="btn btn-green btn-sm" onclick="request_access(this)" id="{{ data }}"><i class="fa fa-plus"></i> Join Group</button>

javascript.js

function request_access($this){
    console.log("button clicked");
    var request_data = $this.id;
    console.log("data: " + request_data);
    $.post({
        url: "request_access/",
        data : { request_data: request_data},
        success : function(json) {
            $("#request-access").hide();
            console.log("requested access complete");
        }
    })
}

解决方法:

代码中将“post”替换为“ajax”,现在print语句将在您的视图中工作.

function request_access($this){
    console.log("button clicked");
    var request_data = $this.id;
    console.log("data: " + request_data);
    $.ajax({
        url: "request_access/",
        data : { request_data: request_data},
        success : function(json) {
            $("#request-access").hide();
            console.log("requested access complete");
        }
    })
}

Difference between $.post and $.ajax?

$.post vs $.ajax

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐