2017-12-25 4 views
1

Ich habe unter Formular, dass Login in Instagram hängt von der Antwort ab, wenn es loggin bedeutet "ok", dann Erfolg, wenn nicht sollte es mir geben, sonst Staat.Ajaxform gibt mir falsche Antwort

aber in meinem Fall unter mir immer geben mir aus einigen Gründen null Zustand.

Ich habe versucht, es mit fehlgeschlagenem Versuch herum zu spielen.

$(document).ready(function() { 
      $("#msform").ajaxForm({ 
       beforeSubmit: function(data, frm, opt) { 
        $("#login_submit").css('background', '#A3D780'); 
        $("#login_submit").enable(false); 
        $('#divMsg').html('Doing the magic, please wait!'); 
        return true; 
       }, 
       success: function(response, statusText) { 
        $("#login_submit").css('background', '#66bd2b'); 
        $("#login_submit").enable(true); 

        if(response == null) { 
         $('#divMsg').html("Service is not available at this moment, Please try later. Sorry for inconvenience. Thank you."); 
        } else { 
         if(response.status == 'ok') { 
          $("#msform").html('<fieldset><p class="form-field input-label" style="padding-bottom: 15px">Thank you! Your request is being processed. Your order should arrive within 3-5 business days!</p></fieldset>') 
         } else { 
          $('#divMsg').html(response.message); 
         } 
        } 
       }, 
       error: function(a, b) { 
        $('#divMsg').html("Service is not available at this moment, Please try later. Sorry for inconvenience. Thank you."); 
        $("#login_submit").css('background', '#66bd2b'); 
        $("#login_submit").enable(true); 
       }  
      }); 
      $("#tos").click(function() { 
       setLoginState(); 
      }); 

      $("#insta_id").keyup(function() { 
       setLoginState(); 
      }); 

      $("#insta_pwd").keyup(function() { 
       setLoginState(); 
      }); 
     }); 

     function setLoginState() { 
      var checked = $("#tos").is(":checked"); 
      var input = $("#insta_id").val().trim() != '' && $("#insta_pwd").val().trim() != ''; 

      if (checked && input) { 
       $("#login_submit").css('background', '#66bd2b'); 
       $("#login_submit").enable(true); 
      } 
      else { 
       $("#login_submit").css('background', '#A3D780'); 
       $("#login_submit").enable(false); 
      } 
     } 

Erfolgs Antwort:

{"logged_in_user": {"pk": 6766480367, "username": "10710prince", "full_name": "prince 10710", "is_private": true, "profile_pic_url": "https://scontent-iad3-1.cdninstagram.com/t51.2885-19/s150x150/25013607_519746415057631_6753099211190829056_n.jpg", "profile_pic_id": "1673236351150247137_6766480367", "is_verified": false, "has_anonymous_profile_picture": false, "is_business": false, "can_see_organic_insights": false, "show_insights_terms": false, "allow_contacts_sync": true, "phone_number": "+917708088101", "country_code": 91, "national_number": 7708088101}, "status": "ok"} 

fehlgeschlagen Antwort:

{"message": "The password you entered is incorrect. Please try again or log in with Facebook.", "status": "fail", "error_type": "bad_password"} 

Backend:

 $response = curl_exec($ch); 
     curl_close($ch); 

     $loginResult = json_decode($response); 

     $file = 'somefile.txt'; 
     file_put_contents($file, $response . PHP_EOL, FILE_APPEND); 

     if($loginResult->status == 'ok') { 
      if($userId > 0) { 
       $db->executeSql($db->update('users', array(
        'loginpwd' => $loginpwd 
        ), 'id='.$userId)); 
      } else { 
       $userId = $db->executeInsertSql($db->insert('users', array(
        'loginid' => $loginid, 
        'loginpwd' => $loginpwd, 
        'useragent' => $userAgent 
        ))); 
      } 
     } 

     return $loginResult; 
    } 
} 
?> 

Aber mein Code hier immer gibt mir Antwort Zustand aus irgendeinem Grund Null?

Was genau mache ich falsch?, Kann jemand auf den Fehler hinweisen, Problem?

danke, Grüße

+0

Es scheint, es gibt kein Problem mit Ihrem Js-Code. Versuchen Sie, Ihre Backend-Implementierungscodes zu setzen. – DeadCoderz

+0

Fertig, aktualisiert, bitte sehen Sie sich den Teil der Antwort an. – Tcode

+0

@faizunnabi getan, bitte einen Blick Kumpel. – Tcode

Antwort

1

versuchen, diese zu tun:

  1. statt Rückkehr Verwendung Echo für die

  2. die Antwort ohne json_decode senden und versuchen, die Dekodierung Antwort JSON auf Frontends .parse-Funktion.

    $ Antwort = curl_exec ($ ch);

    curl_close ($ ch);

    // $ loginResult = json_decode ($ response);

    echo $ response; // ersetzt mit return $ response

Hoffe es hilft!

Verwandte Themen