2016-11-24 5 views
0

Ich habe gerade von einem Front-End-Bootcamp Entwicklung abgeschlossen und erlebt meinen allerersten technischen Test. Alles scheint sehr einfach zu sein, mit Ausnahme eines Aspekts, auf den ich hoffentlich ein paar Meinungen erhebe. Ich bin mir nicht ganz sicher, was das Unternehmen hier fragt und fragte mich, ob jemand es vielleicht besser interpretieren könnte?Ein Bereich der Verwirrung auf der technischen Prüfung

Ich soll den Profilabschnitt (Name, E-Mail, etc.) einer Webseite mit HTML und CSS neu erstellen, die ich verstehe, wie zu tun ist. Es gibt eine JavaScript-Komponente mit einer HTTP-POST-Anfrage, über die ich verwirrt bin. Es gibt Back-End-APIs, die das Ändern des Profilabschnitts durchführen.

Ich wurde nicht die URL für den AJAX-Aufruf gegeben und wurde stattdessen mit den folgenden Anweisungen bereitgestellt: "kann die tatsächliche Zeile auskommentieren, die AJAX-Aufruf macht. Nehmen Sie einfach an, dass Sie 200 Antwort mit leerer Zeichenfolge als Nachricht erhalten Angenommen, csrf_token ist ##### ". Ich habe die Nummern angegeben, habe sie aber weggelassen. Darüber hinaus gab es auch diese Zeile: "Die Back-End-API akzeptiert POST-Anfrage mit der Anwendung/x-www-form-urlencoded body".

In meinem Bootcamp hatte ich keine POST-Anfragen, nur GET. Kann jemand eine Anleitung geben, wonach genau diese Frage gefragt ist? Mein erster Schritt wäre, POSTMAN zu verwenden, aber ohne eine URL, nicht sicher, wie das geht.

EDIT:

Aus verschiedenen googeln, wie diese Anfragen gestellt werden, ich habe bisher mit dem Code unten kommen aber noch viel (wahrscheinlich) fehlt. Die Idee ist, dass, wenn ein Benutzer eine neue E-Mail (oder einen neuen Namen, ein Passwort usw.) eingeben soll, eine POST-Anfrage gestellt wird, um diese Aktualisierung durchzuführen.

Ich wurde informiert, dass ich keine jQuery für diesen Test verwenden darf, also habe ich versucht, zu lernen, wie man das in JavaScript alleine macht. Außerdem, ich bin auch nicht sicher, wo die csrf_token kommen.

var xhr = new XMLHttpRequest(); 
var url = /* URL */; 
var params = ; 

xhr.open('POST', url, true); 

xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
xhr.setRequestHeader('Content-length', params.length); 
xhr.setRequestHeader('Connection', 'close'); 

xhr.onreadystatechange = function() { 
    if (xhr.readyState == 4 && xhr.status == 200) { 
     alert(xhr.responseText); 
    } 
}; 

xhr.send(params); 

Antwort

0

Mein Verständnis ist, dass Sie eigentlich gar nicht die Anforderung machen müssen, nur seinen Platz im Code bereit, vielleicht als Kommentar gekennzeichnet. Ihr Code sollte eine hart codierte 200 OK "Antwort" von der API mit einem leeren Körper haben, die anzeigt, dass das Ändern des Profils funktionierte. So könnte eine Zeile, die die Anfrage tatsächlich erzeugt, durch ein ähnliches Objekt für das Anfrageergebnis ersetzt werden, und Sie könnten das verwenden (aber der Text sagt, dass die Antwort sowieso leer ist, so dass Sie nicht viel vortäuschen müssen).

Ich denke, Ihr Code sollte immer noch zeigen (in einem Kommentar oder in der vorhergehenden Anfrage Setup-Zeilen vor der eigentlichen auskommentierten Anfrage), wie Sie die Anfrage machen würden, wie Sie das csrf-Token übergeben würden, wie Sie den Inhalt einstellen würden Typ der Anfrage an application/x-www-form-urlencoded, wenn etwas getan werden muss (wahrscheinlich nicht), und wie Sie Parameter in diesem Format übergeben würden.

+0

Vielen Dank für Ihren Kommentar, dies gab mir definitiv eine Richtung, wo ich anfangen soll. Ich habe eine Änderung an meiner Frage vorgenommen und den Code hinzugefügt, den ich mir ausgedacht habe, und auch ein bisschen mehr Informationen darüber, was diese Anfrage machen soll. Seit dem Bootcamp habe ich hauptsächlich jQuery verwendet, was mir für diesen Test nicht erlaubt ist, eine zusätzliche Ebene der Komplexität hinzuzufügen. Es wäre sehr zu begrüßen, wenn Sie aufgrund meiner Änderungen einige zusätzliche Hinweise geben könnten. – yorkminster

Verwandte Themen