2017-01-09 1 views
0

ich ein CS haben: Glücksspiel Seite GO wo Benutzer seine Dampf Handel URL zu speichern, ich habe eine JQuery AJAX Post, die Daten auf Datenbank zu speichern:JQuery AJAX auf Fehlerwarnung

$(document).on('click', '#saveURL', function(e) { 
    var data = $("#tradeURL").serialize(); 
    $.ajax({ 
     data: data, 
     type: "post", 
     url: "functions/tradeURL.php", 
     success: function(data) { 
      noty({ 
       text: '<b>Success!</b> <br>Your Trade URL is now saved.', 
       layout: 'topRight', 
       theme: 'metroui', 
       type: 'success', 
       maxVisible: 10, 
       timeout: 5000, 
       closeWith: ['click', 'timeout'], 
       animation: { 
        open: { 
         height: 'toggle' 
        }, 
        close: { 
         height: 'toggle' 
        }, 
        easing: 'swing', 
        speed: 500 // opening & closing animation speed 
       } 
      }); 
     } 
    }); 
}); 

Wenn die Daten richtig gibt es diesen Alarm wurde vorgelegt, aber mein tradeURL.php enthält diesen Code:

if (isset($_REQUEST)) { 
    $tradeURL = $_POST["tradeURL"]; 
    $tradeURL = htmlspecialchars(str_replace('', '', $tradeURL)); 
    $turl = explode("=", explode("&", "'.$tradeURL.'") [0]); // user trade url 
    if ($turl[1] == $steamid - intval(0x0110000100000000)) { 
     $update = "UPDATE users SET tlink='$tradeURL' WHERE steamid=$steamid"; 
     if ($db->query($update) === TRUE) { 

      // THIS GIVES THE ALERT ON THE JQUERY SCRIPT 

     } 
     else { 
      echo "Error updating record: " . $db->error; 
     } 
    } 
    else { 

     // HOW TO OUTPUT THIS ON THE AJAX POST ? 

    } 
} 

So, wie ich eine Benachrichtigung an diesem Teil machen sollte, wo es sagt // wIE OUTPUT dIESEM aUF DER AJAX POST ? und es würde es in der Datenbank speichern.

+0

Ich bin kein Experte oder irgendetwas in Php, aber kippe Sie dies tun, wenn Sie nur wollen einfache alarm in ihrem php-script echo 'im sicher gibt es bessere möglichkeiten –

+0

das wird nicht funktionieren, da die .php ist in verschiedene richtungen und es würde gib immer noch den Noty-Alarm aus, der Erfolg sagt –

+0

Okay, sorry, war nur eine Vermutung, Aber jetzt bin ich verwirrt, willst du die Warnung in Ihrem PHP-Code oder in der Ajax? –

Antwort

0

können Sie einen Wert gibt echo:

// HOW TO OUTPUT THIS ON THE AJAX POST ? 
echo "Invalid value."; // or your choice of text... 

Jetzt für den Erfolg Rückruf verwenden:

success: function(data) { 
    if(data === 'Invalid value.'){ // <--add this one 
     alert(data); 
     return; 
    } 
    noty({ 
     ... 
    }); 
} 
+0

Das hat nicht funktioniert, es hat nicht ausgegeben, dass ** Alarm (Daten): ** aber es immer noch, dass Noty Alarm ausgegeben und nicht gespeichert die Daten in der Datenbank –

0

Hallo Sie Ausgang Benachrichtigungen über JS in PHP nicht. Ihre PHP sollte so etwas wie zurückgeben:

header('Content-Type: application/json'); 
if($correct){ 
    echo json_encode(array("status" => true)); 
}else{ 
    echo json_encode(array("status" => false)); 
} 
die; // note: this should not be used, instead you shoud make sure there is no other output on page. 

Und dann in Ihrem Javascript Sie Ihre Antwort-interpretieren:

if(data.status == true){ 
    //display message that input accepted 
} else { 
    //display message that input is not valid 
} 
+0

stellen Sie sicher, 'Exit; 'Am Ende. – Jai

+0

Das ist, was sterben; und und Kommentar daneben ist für. – Auris