Я пытаюсь показать сообщение об ошибке в разделе нижнего колонтитула моей формы ajax, но я получаю "null" вместо значения, что не так?
вот мой код:
html:
<div class="modal-footer">
<div id="error_message"></div>
<button type="submit" class="btn btn-default" id="submit" disabled>Submit</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div role="modal-footer">
view.py:
from django.shortcuts import render
from librarysystem.models import Users
from django.http import JsonResponse
def index(request):
template = 'librarysystem/Elib.html'
return render(request,template)
def validateForm(request):
tagId = request.GET.get('id',None)
data = {
'isTaken' : tagId,
'value': request.GET.get(tagId,None),
}
return JsonResponse(data)
Код ajax:
function validateForm() {
tagId = this.id;
$.ajax({
url: "/librarysystem/validate/",
data: {
tagId: this.value,
'id': tagId,
},
dataType: 'json',
success: function(data){
$('#error_message').html(data.value + ' = value').css('color','red');
}
}) ;
}
$(document).ready(function() {
$("#username, #emailid, #password, #retrypassword").keyup(validateForm);
});
this
неверно:
function validateForm() {
tagId = this.id;
var val = this.value; // <-----get value here
$.ajax({
url: "/librarysystem/validate/",
data: {
tagId: val, //<----pass it here
'id': tagId
},
dataType: 'json',
success: function(data){
$('#error_message').html(data.value + ' = value').css('color','red');
}
});
}
или использовать context:this,
параметр в ajax:
function validateForm() {
tagId = this.id;
$.ajax({
url: "/librarysystem/validate/",
context:this, //<----add it here
data: {
tagId: this.value,
'id': tagId
},
dataType: 'json',
success: function(data){
$('#error_message').html(data.value + ' = value').css('color','red');
}
});
}
Это кажется логически неверным.
tagId = request.GET.get('id',None) ## Which returns username based on the request
Вторая линия
data = {
'isTaken' : tagId,
'value': request.GET.get(tagId,None) ## request params doesn't have any key as "**username**" and is supposed to return null.
}
data: { tagId: this.value, 'id': tagId, },
это не смущает? хотяthis
не то, что вы думаете здесь.