2017-02-24 19 views
0

私はユーザー名を取得しています。私はjsファイルからUsernameを取り込み、AJAX POST呼び出しをルートに送り、入力されたユーザー名でデータベースをチェックしています。 DBロジックが正常に動作しています。私は戻ってAJAX呼び出しに、次の方法で情報を送り返すています:ExpressJS - WebページでAJAX応答を表示

if(err){ 
     console.log("Error checking username availability...") 
    } 
    if(doc && doc._id){ 
     console.log(doc.lastname+ " User aleady Exists") 
    } else { 

    res.send({result: "Username Available"}) 
} 

そして、これはAJAX POSTコール持つファイルmain.jsです:私はそれがさまざまな方法でやってみました

$("input[name='username']").blur(function(){ 
//enteredUsername = $("input[name='username']").val() 

var data={} 
data.enteredUsername = $("input[name='username']").val() 
alert(data.enteredUsername) 
$.ajax({ 
    type: "POST", 
    url: '/checkUsername', 
    data: data, 
    dataType: 'application/json', 
    success: function(result){ 
     render(result); 
    } 
} 

// }).done(function (result) { 
//  alert("ajax callback response:"+JSON.stringify(result)); 
// }) 

}); 

を 1)私はまた、明確化のために

を働いていなかった.done()を使用して、それを試してみました) 2を作業されていない、AJAXでsuccess機能を試してみましたが、これは私のusernamです

<input type="text" name="username" required="required" minlength="6"> 
 
     <script src="scripts/main.js"> 
 

 
     </script> 
 
     <%= result %>

すべてのヘルプ/支援感謝:ユーザー登録ファイル(.ejsファイル)の電子フィールド。おかげ

答えて

0

エクスプレス

// Magic 
 
... 
 
if(err){ 
 
     res.end(JSON.stringify({ 
 
      error: true 
 
      ,message: 'Error checking username availability...' 
 
     })) 
 
    } 
 
    if(doc && doc._id){ 
 
     console.log(doc.lastname+ " User aleady Exists") 
 
    } else { 
 

 
    res.end({ 
 
     error: false 
 
     ,result: "Username Available" 
 
    }) 
 
}

フロントエンド

// AJAX Maigc 
 
... 
 

 
$.ajax({ 
 
    type: "POST", 
 
    url: '/checkUsername', 
 
    data: data, 
 
    dataType: 'application/json', 
 
    success: function(result){ 
 
     
 
     if(result.error === false){ 
 
      // Success 
 
      render(result); 
 
     }else{ 
 
      const errorMessage = result.message; 
 
      // Work your way 
 
     } 
 
     
 
    } 
 
} 
 

 
});

+0

'JSON.stringify'最後' res.end() 'も右。 ..?私はその部分を修正し、実行しました、そのページにユーザー名利用可能なメッセージを表示しません....どのようにこれは私の質問に答えるか? – CoderSenju

関連する問題