Python Django没有在AJAX调用中接受GET输入
我正在尝试获取用户名输入,并在ajax调用中返回,无论是否在Django中获取用户名。但DJango中的方法不接受输入。我在这里分享代码 URL.pyPython Django没有在AJAX调用中接受GET输入,python,jquery,django,Python,Jquery,Django,我正在尝试获取用户名输入,并在ajax调用中返回,无论是否在Django中获取用户名。但DJango中的方法不接受输入。我在这里分享代码 URL.py url(r'^search_username/$', user.views.search_product, name="search_username"), 脚本+HTML {% load staticfiles %} {% block content %} <form method="post"> {% csrf_
url(r'^search_username/$', user.views.search_product, name="search_username"),
脚本+HTML
{% load staticfiles %}
{% block content %}
<form method="post">
{% csrf_token %}
<input name="search" id="search" type="text"/>
<button type="submit">Sign up</button>
</form>
{% endblock %}
Views.py
def search_username(request):
print('Entered into search')
username = request.GET.get('search', None)
print(username)
data = {
'is_taken': allproductlist.objects.filter(product_name_english__iexact=username).exists()
}
return JsonResponse(data)
问题是它会打印输入到搜索中。但当我打印用户名时,它不会显示任何内容。有人可以指定发生了什么吗?您的Ajax正在以“用户名”的形式发送数据,但您的Python正在寻找“搜索”。您的Ajax正在以“用户名”的形式发送数据,但您的Python正在寻找“搜索”。您正在Ajax请求中发送
用户名,但您在views.py中获得搜索
username = request.GET.get('username', None)
您可以更新ajax代码:
$("#search").change(function () {
var username = $(this).val();
$.ajax({
url: '/search_username/',
data: {
'search': username
},
dataType: 'json',
error: function(){
alert('failure');
},
success: function (data) {
if (data.is_taken) {
alert("A user with this username already exists.");
}
}
});
});
第二种方法是可以在views.py中进行更改
username = request.GET.get('username', None)
您正在ajax请求中发送username
,但在views.py中获得search
username = request.GET.get('username', None)
您可以更新ajax代码:
$("#search").change(function () {
var username = $(this).val();
$.ajax({
url: '/search_username/',
data: {
'search': username
},
dataType: 'json',
error: function(){
alert('failure');
},
success: function (data) {
if (data.is_taken) {
alert("A user with this username already exists.");
}
}
});
});
第二种方法是可以在views.py中进行更改
username = request.GET.get('username', None)
先生,你是个美人。我是ajax和js的新手。谢谢暂时解决了我的问题。先生,你是个美人。我是ajax和js的新手。谢谢暂时修复了我的问题。完全不相关,但是您的表单应该使用GET方法-POST是您想要更改服务器状态的时候,而这里不是这样。是的,我也更改了它。还做了其他自定义系统。工作正常,但是你的表单应该使用GET方法-POST是当你想更改服务器的状态时,这里不是这样。是的,我也更改了它。还做过其他的定制系统,工作很好