2017-10-16 10 views
0

Ich habe einige Server-Seite Code, der, wenn die Kasse erfüllt ist entweder eine wahre oder eine falsche zurückgibt. Durch das Konsolenprotokoll sieht es so aus: {"success": true, "message": "Added to db"}. Wie kann ich in der Ajax-Erfolgsbedingung korrekt schreiben, dass, wenn die Antwort wahr ist, wir etwas tun, sonst tun wir etwas anderes?Antwort von Server Ajax

Handler php

 echo json_encode(['success' => true, 'message' => 'Added to db']); 
    } 
} else { 
    echo json_encode(['success' => false, 'message' => 'Wrong captcha']); 
} 

index.php

$(document).ready(function() { 
    $('#submit').click(function() { 
     var username = $('#username').val(); 
     var email = $('#email').val(); 
     var message = $('#message').val(); 
     var captcha = $('#captcha').val(); 

     if(username === ''){ 
      alert('Please input data in all fields'); 
     } else { 
      $.ajax({ 
       type: "POST", 
       cache: false,   
       url: '/data/insert.php', 
       data: {username: username, email: email, message: message, captcha: captcha}, 
       success: function(response) { 
        console.log(response); 
       } 
      }); 
     } 
    }); 
}); 

Antwort

0

Ajax an den HTTP-Header aussehen wird, um zu bestimmen, ob es ein Fehler war. Sie können die Fehlercodes auf dem Server festgelegt, wenn Sie die Antwort sind die Validierung:

if ($someCondition) { // If the request is good 
    echo json_encode(['message' => 'Added to db']); 
} else { // Request is bad. You can add any number of conditions and return any number of errors 
    header('HTTP/1.1 400 Bad Request'); 
    exit(json_encode(['message' => 'Some error message', 'code' => 400])); 
} 

Sie eine Liste von Client-Fehler sehen here

dann für Ihre Ajax gibt es eine spezifische Fehlerbehandlungsfunktion:

$.ajax({ 
     type: "POST", 
     cache: false,   
     url: '/data/insert.php', 
     data: {username: username, email: email, message: message, captcha: captcha}, 
     success: function(response) { 
      console.log(response.message); 
     }, 
     error: function(response) { 
      alert(response.message); 
     } 
}); 
0
$(document).ready(function() { 
     $('#submit').click(function() { 
      var username = $('#username').val(); 
      var email = $('#email').val(); 
      var message = $('#message').val(); 
      var captcha = $('#captcha').val(); 
      if(username === ''){ 
       alert('Please input data in all fields'); 
      } 
      else { 
      $.ajax({ 
       type: "POST", 
       cache: false,   
       url: '/data/insert.php', 
       data: {username: username, email: email, message: message, captcha: captcha}, 
       success: function(response) { 
       if(response.success == true){ 
        // do some thing 
       }else{ 
        // do some thing 
       } 
       } 
      }); 
     } 
     }); 
    }); 
+0

ist der Zustand noch sonst –

+0

Erfolg: function (Antwort) { if (response.success == true) { console.log ('wahr'); } else { console.log ('false') } } –

+1

Code-only-Antworten werden abgeraten, weil sie oft nicht den Schlüssel zum richtigen Ergebnis angeben. Kannst du mehr über diese Antwort erzählen? – lit