2017-11-07 1 views
-3

私はhtml、css、javascriptでログインフォームを作成しています。JSONからjavascript変数

フォームに送信したばかりのユーザー名でJSONを受け取るために、APIにPOSTを実行しています。

メールとパスワードが正しい場合は、APIからすべての情報を含むJSONを受け取ります。問題は、私が受け取った情報を操作する方法がわからないということです。私は、JSONをPOSTを通じて変数に保存してから、アカウントの種類またはその他にアクセスできるようにしたいと思いますそのオブジェクトのプロパティ

<form name="login" id="myForm" action="API_URL" method="post" class="form-signin"> 
    <h3 class="form-signin-heading">Por favor inicie sesión</h3> 
    <label for="inputEmail" class="sr-only">E-mail</label> 
    <input type="email" name="email" class="form-control" placeholder="E-mail" required autofocus> 
    <label for="inputPassword" class="sr-only">Password</label> 
    <input type="password" name="password" class="form-control" placeholder="Contraseña" required> 
    <div class="checkbox"> 
     <label> 
     <input type="checkbox" value="remember-me"> Recordarme 
     </label> 
    </div> 
    <button class="btn btn-lg btn-primary btn-block" id type="submit">Iniciar sesión</button> 
    </form> 

提出打った後、私はこのようなJSONを受信します!(https://imgur.com/a/wbUcp) これは私のjQueryのです:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js%22%3E 



$(document).ready(function() { 

     $('#myform').submit(function() { 

       $.ajax({ 
        type: "POST", 
        url: '/form/', 
        data: { 
         email: $("#inputEmail").val(), 
         password: $("#inputPassword").val() 
        }, 
        success: function(data) 
        { 
         if (data === 'Correct') { 

         var objeto = data.parse(); 
         console.log(objeto); 

         } 
         else { 
          alert(data); 
         } 
        } 
       }); 
     }); 
    }); 

    </script> 

誰もが正しい方向に私を指すしてくださいことはできますか?

+4

[ドキュメント](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)を検索するのは難しいですか? – Teemu

+0

あなたが添付したJSONのスクリーンショットを見ることができません。再度投稿することができます –

+0

フォーム提出用のJSコードを共有 –

答えて

-1

JavaScriptは& AJAXを使用して呼び出しを呼び出す必要があります。

  1. 送信ボタンにOnClickイベントリスナーを追加し、handleLoginClicked()を呼び出します。

  2. すべての変数を入力から収集し、ajaxを使用してURLに投稿します。

  3. 応答を取得してJSONを解析し、javascript変数に割り当てます。

あなたがそうするように、たとえばjQueryのを使用することができます。jQuery.Post

0

あなたはJavascriptがこのようにしてみてください使用している場合、あなたは
mixed json_decode (string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]])

+1

しかし、彼は彼がPHPを使用していると言及していません –

+0

たとえば。彼は自分の言語で編集することができます。この商品に関する単なる検索は –

3

とPHPの配列にJSONを取得することができます:

   $.ajax({ 
       type: "POST", 
       url: '/form/', 
       data: { 
        email: $("#inputEmail").val(), 
        password: $("#inputPassword").val() 
       }, 
       success: function(response){ 
        var data = response; 
        contactData = JSON.parse(data); 
         console.log("ID: " + contactData.id); 
         console.log("ID: " + contactData.user_type_id); 
         console.log("ID: " + contactData.first_name); 
         console.log("ID: " + contactData.last_name); 
         console.log("ID: " + contactData.email); 
         console.log("ID: " + contactData.password); 

       }, 
       failure : function(data){ 
        alert('Server Connection failed'); 
       }, 
       error : function(request,error){ 
        alert(error); 
       } 
      }); 
0

あなたはデータを投稿しており、それは文字列形式で受信されます。あなたがJSONだけを扱っているならあなたは今、体の変数は、オブジェクトが含まれていますし、あなたは私が知っているalso.Letボディパーサーミドルウェアを使用することができますよりも、あなたはサーバー側でnodeJsを使用しているeasily.Ifプロパティにアクセスすることができ、この

let body = JSON.Parse(req.body); 

のようなJSONパーサーを使用することができますコメントに何か反対のものがある場合。

関連する問題