Django通过ajax获取请求发出两个请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django通过ajax获取请求发出两个请求相关的知识,希望对你有一定的参考价值。
我正在努力将数据从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请求。删除后,问题就解决了。
以上是关于Django通过ajax获取请求发出两个请求的主要内容,如果未能解决你的问题,请参考以下文章
使用 Ajax/Javascript/Django 的 CORS 请求
如何在 django 的预检 CORS POST 请求中处理 CSRF?
Django CSRFToken 中间件附加到 URL 并在向服务器发出“PUT”请求后显示。 (AJAX 问题)