2016-11-24 2 views
0

私はちょうどフロントエンド開発のブートキャンプを卒業し、私の最初の技術テストを経験しています。私はいくつかの意見を得ることを望んでいることを除いて、すべては非常に単純なようです。私は会社がここで何を求めているのかよく分からず、誰かがそれをよりよく解釈できるかどうか疑問に思っていましたか?技術テストの混乱の1つの領域

私はHTMLとCSSを使ってウェブページのプロファイルセクション(名前、電子メールなど)を作り直したいと思います。私が混乱しているHTTP POST要求を含むJavaScriptコンポーネントがあります。プロファイルセクションの変更を実行するバックエンドAPIがあります。

AJAX呼び出しのURLが指定されておらず、代わりにAJAX呼び出しを行う実際の行をコメントアウトすることができます。空の文字列を本文として200回返すと仮定しますcsrf_tokenを#####とする。 "私は数字を提供されているが、それらを省略している。また、「バックエンドAPIは、application/x-www-form-urlencoded bodyでPOST要求を受け入れる」という行もありました。

私のブートキャンプでは、私はPOSTリクエストをしていませんでした.GETだけでした。誰もがこの質問が何を求めているのかについて何らかのガイダンスを提供することができますか?私の最初のステップは、POSTMANを使用することですが、URLなしで、これについてどうやって行くのか分かりません。

EDIT:様々なから

は、これらの要求が行われたかにグーグルで、私がこれまでに以下のコードを作ってみたが、まだ(おそらく)多くのことを行方不明。ユーザーが新しい電子メール(または新しい名前、パスワードなど)を入力すると、この更新を行うためのPOST要求が行われるという考えがあります。

私はこのテストにjQueryを使用することは許されていないことを知りましたので、JavaScriptだけでこれを行う方法を学びました。 csrf_tokenの出番また、私もよく分からない。

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); 

答えて

0

私の理解では、あなたが実際には多分コメントアウト、コード内のその場所を準備して、要求を作成する必要がないことです。あなたのコードは、空のボディを持つAPIからハードコードされた200 OKの「応答」を持つ必要があり、プロフィールの変更が機能したことを示します。実際にリクエストを行う1行をリクエスト結果の模擬オブジェクトのようなものに置き換えることができるので、それを使用することができます(ただし、テキストは応答が空のため、多くを模擬する必要はありません)。

あなたのコードは依然として要求を行う方法、csrfトークンを渡す方法、コンテンツを設定する方法(実際にコメントアウトされた要求の前に、何かを行う必要がある場合(おそらくそうでない場合)、その形式でパラメータをどのように渡すのかを指定して、application/x-www-form-urlencodedへのリクエストを処理します。

+0

ご意見ありがとうございました。これは間違いなくどこから始めるべきかを私に示してくれました。私は自分の質問を編集し、私が思いついたコードで追加しました。また、このリクエストが何をすべきかについてもう少し詳しく知りました。私が主にjQueryを使用したブートキャンプは、このテストでは許可されていないため、複雑さが増しています。編集内容に基づいて追加のガイダンスを提供できると大変感謝しています。 – yorkminster