2016-04-25 9 views
0

Suchen Sie nach Ajax für Fehlermeldungen mit einem assoziativen PHP-Array.Ajax Fehler/Erfolg Nachrichten von mehreren Seiten

Ich habe 5 Seiten, die eine Vielzahl von verschiedenen Fehlermeldungen haben, aber sie alle stammen von der gleichen Seite (Es ist eine Profilseite, mit 5 Seiten, um verschiedene Aspekte von Kundendaten zu bearbeiten).

Wenn also ein Fehler auftritt, wird auf eine zentrale Seite umgeleitet, und dann wird der Fehler mit jQuery angezeigt, das gleiche gilt für die Erfolgsmeldungen.

So würde meine Array wie folgt aussehen:

$errormsg = array("class"=>"warning", "message"=>"Example error message"); 

Aber ich habe Tutorials und haben Beispiele wie folgt gesehen:

jQuery.ajax({ 

url: 'script.php', 
data: response, 
dataType: 'JSON', 
type: 'POST', 
success:function(data){ 
    console.log(data); 
}, 
error: function(data, errorThrown){ 
    console.log(errorThrown); 
} 

}); 

Wie gehe ich zum Beispiel 5 verschiedene URLs spezifizieren ? Ich möchte vermeiden, dass dieser Code 5 mal für eine Seite und viele andere Male über meine Seite kopiert wird.

Danke für Ihre Zeit

+1

Speichern Sie das Objekt, das Sie in geben 'jQuery.ajax' zu einer Variablen. Dann können Sie 'objVar.url =" whatever.php "ändern;' und übergeben Sie das einfach in den Ajax-Aufruf wie 'jQuery.ajax (objVar);'. Es ist nur ein Standard-JavaScript-Objekt-Literal, das Sie in Ajax übergeben. Es kann wie jedes andere Objekt gespeichert/modifiziert werden. –

Antwort

0

Ich denke, ich weiß was du meinst.

Ich habe mehrere Seiten, die alle die gleiche AJAX "Prozessorseite" verwenden (aus Mangel an einem besseren Begriff). Hier ist, wie ich damit umgehen:

var req = 'page1'; 
var error_type = $('#etype').val(); 
var error_somethingelse = 'this is something else'; 
$.ajax({ 
    type: 'post', 
    url: 'ajax/ax.php', 
    data: {request:req, error_type:etype, sumelse:error_somethingelse}, 
    success: function(d){ 
     if (d.length) alert(d); 
    } 
}); 

Die request Variable teilt die PHP Ajax-Prozessor-Datei, die Routine ausgeführt wird:

ax.php:

<?php 
    if ($_POST['request'] == '') { 

    /**********************************************************************************************************************/ 
    }else if ($_POST['request'] == 'page1') { 
     if ($_POST['page1_specific_var']== '123-324'){ 
     } 
     echo 'Error Message: there was an error'; 
    }else if ($_POST['request'] == 'page2') { 
     echo 'Error Message: there was another kind of error'; 
    }else if ($_POST['request'] == 'login_page') { 
     echo 'Error Message: there was a login error'; 
    } 
Verwandte Themen