Django通过ajax获取请求发出两个请求

时间:2017-12-16 07:11:00

标签: python ajax django django-views

我正在努力将数据从ajax传递到Django视图。但是,ajax以某种方式发出了2个GET请求:一个带有查询字符串,另一个带有查询字符串。在视图中,当我尝试将查询字符串变为空时。

Ajax代码:

<script>
$( document ).ready(function() {

    var query = "{{ item.ipv4_address }}";
    $("#clickid").click(function() {
            $.ajax({

                    url: "/reserve/run/?ip=",
                    type: "GET",
                    data: {ip:query},
                    success:function(data){
                            console.log(data);
                    }
            });
   });
});


</script>

Django观点:

def run_script(request):

    if request.GET:
        ip = request.GET['ip']
        print ip 

    return render_to_response('test.html',{'item':ip})

两个网址:

[16/Dec/2017 07:43:56] "GET /reserve/run/?ip=198.18.101.123 HTTP/1.1" 200 570
[16/Dec/2017 07:03:58] "GET /reserve/run/ HTTP/1.1" 200 1

urls.py文件

url(r'^run/$',views.run_script,name='run_script'),

请让我知道我哪里出错了。另外,如果您需要更多信息,请与我们联系。任何指针都表示赞赏。

2 个答案:

答案 0 :(得分:0)

如果要在数据属性中传递查询参数,则无需在url参数中发送它。将您的url参数更新为:

$.ajax({

                url: "/reserve/run/",
                type: "GET",
                data: {ip:query},
                success:function(data){
                        console.log(data);
                }
        });

答案 1 :(得分:0)

我发现了错误。在我的标签中,我也提到了URL。 {%url'run_script'%}。这是发送额外的GET请求。删除后,问题就解决了。