2017-05-16 15 views
0

現在、私はPhaser.jsを使用しているプロジェクトで作業しています。私はHighscoreで作業しているときに問題に遭遇しています。ゲームが「終わり」と呼ばれる最後の状態になると、達成されたスコアとあなたの名前を入れることができる入力を備えたブートストラップモーダルダイアログが開きます。私が "送信"を押すと、両方の入力の値をajaxcallに入れて "/"に送信する必要があります。しかし、入力は空になり、console.log(input1 + "と" + input2); "と"だけを出す。私は何のエラーも出ていないので、問題が何かになるかもしれないという手掛かりはありません。どんな助けもありがとうございます。Ajaxcallは入力を送信しません(MongoDBデータベース)

index.ejs:

<div class="col-md-12" id="popup"> 
    <!-- Modal --> 
    <div class="modal fade" id="myModal" role="dialog"> 
     <div class="modal-dialog"> 

     <!-- Modal content--> 
     <div class="modal-content"> 
      <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal">&times;</button> 
      <h4 class="modal-title">Modal Header</h4> 
      </div> 
      <div class="modal-body"> 
      <label for="score">Your Score:</label> 
      <input value="" class="form-control" id="score"><br> 
      <label for="name">Your Name:</label> 
      <input value="" class="form-control" id="name" placeholder="Choose a name for the leaderboards..."> 
      </div> 
      <div class="modal-footer"> 
      <button type="button" id="send" class="btn btn-success">Send</button> 
      <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button> 
      </div> 
     </div> 

     </div> 
    </div> 
    </div> 

ajaxcalls.js

var input1 = $('#name').val(); 
var input2 = $('#score').val(); 



$('#send').click(function(){ 
    console.log(input1 + 'x' + input2); 
    $.ajax({ 
     method: "POST", 
     url: "/", 
     data: { 
      Name: input1, 
      HScore: input2 
     }, 
     success: function(data){ 
      console.log('success'); 
      $('#myModal').modal('hide'); 
     } 
    }); 
}); 

index.js

router.post('/', function (req, res) { 
    var Name = req.body.Name; 
    var HScore = req.body.HScore; 

    mongoose.model('hs').create(
     { 
     player: Name, 
     score: HScore 
     }, 
     function (err,player) { 
     if(err){ 
      res.send('Errortext!'); 
     } 
     console.log('POST creating new Player: ' + player); 
     res.redirect('/'); 
     }); 
}); 

mongo.js

var mongoose = require('mongoose'); 

var highScore = new mongoose.Schema({ 
    player: String, 
    score: Number 
}); 

mongoose.model('hs', highScore); 

答えて

1

clickリスナーの中の値を読み取るだけです

$('#send').click(function(){ 
    var input1 = $('#name').val(); 
    var input2 = $('#score').val(); 

    console.log(input1 + 'x' + input2); 
    $.ajax({ 
     method: "POST", 
     url: "/", 
     data: { 
      Name: input1, 
      HScore: input2 
     }, 
     success: function(data){ 
      console.log('success'); 
      $('#myModal').modal('hide'); 
     } 
    }); 
}); 
+0

ありがとうございました。私は多くの時間を節約できました。私はそれが私の側から少し微妙な愚かさを知っていた、ちょうど正確にどこに何をキャッチすることはできませんでした – rekalar

関連する問題