javascript - Login Ajax form not working, redirecting to another page -


i have created ajax form handle errors in login form, instead of showing errors in form area, directs me page json error response

<div class="container-fluid bg-primary" id="login">     <div class="row">         <div class="col-lg-3 text-center">         </div>         <div class="col-lg-6 text-center">         <h1>&nbsp;</h1><h3>&nbsp;</h3>             <h2 class="section-heading">login profile</h2>             <hr>         </div>         <div class="col-lg-3 text-center">         </div>         <h2>&nbsp;</h2>         <h2>&nbsp;</h2>         <h2>&nbsp;</h2>     </div>     <div class="col-md-4 col-md-offset-4 ">         <form id='loginform' action='/users/login/' method='post' accept-charset='utf-8'>         {% csrf_token %}             <fieldset >                 <div class="form-group">                     <input type="text" name="mobile_number" id="mobile_number" tabindex="1" class="form-control" placeholder="mobile number" value="">                 </div>                 <div class="form-group">                     <input type="password" name="password" id="password" tabindex="2" class="form-control" placeholder="enter password">                     </div>             </fieldset>             <button type="submit" class="btn btn-primary btn-xl btn-block">log in</button><br><br>             <span class="login-error"></span>             <h1>&nbsp;</h1><h1>&nbsp;</h1>         </form>     </div> 

my ajax code

$("#loginform").on('submit', function(event) {         event.preventdefault();         alert("was preventdefault() called: " + event.isdefaultprevented());         console.log("form submitted!");         var url = "/users/login-ajax/";          $.ajax({             type: "post",             url:url,             data: $("#loginform").serialize(),             success: function(data)             {                 console.log(data);                 var result = json.stringify(data);                 if(result.indexof('errors')!=-1 ){                     console.log(data);                     if(data.errors[0] == "mobile number , password don't match")                     {                         $('.login-error').text("mobile number , password don't match");                     }                      else if(data.errors[0] == "entered mobile number not registered")                     {                         $('.login-error').text("entered mobile number not registered");                     }                 }                  else                 {                     window.open("/users/profile/");                 }                  //var result = json.stringify(data);                 // console.log(result);              }             })     }); 

my code action in views.py

def login(request): if request.method == 'post':     mobile_number = request.post.get('mobile_number', '')     password = request.post.get('password', '')      data = {}      user_queryset = user.objects.filter(mobile_number=mobile_number)      if len(user_queryset) == 0:         data['error'] = []         data['error'].append("entered mobile number not registered")         # return jsonresponse(data)      elif len(user_queryset) == 1:         email = user_queryset[0].email          user = auth.authenticate(email=email, password=password)          if user not none:             auth.login(request, user)          else:             data['error'] = []             data['error'].append("mobile number , password don't match")      return jsonresponse(data) 


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -