我正在努力将数据从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'),
请让我知道我哪里出错了。另外,如果您需要更多信息,请与我们联系。任何指针都表示赞赏。
如果要在数据属性中传递查询参数,则无需在url参数中发送它。将您的url参数更新为:
$.ajax({
url: "/reserve/run/",
type: "GET",
data: {ip:query},
success:function(data){
console.log(data);
}
});
我发现了错误。在我的标签中,我也提到了URL。 {%url'run_script'%}。这是发送额外的GET请求。删除后,问题就解决了。