2016-06-01 5 views
0

私はサーバーにajaxリクエストを作成しようとしています。要求は正常に送信されますが、パラメータは要求本文に適切ではありません。ブラウザのネットワークツールを使って体に示すjavascript - ajaxはnullデータを要求します

パラメータ:彼らはすべきではないが、

{"name":"","message":"","time":1464807897670}

<input>メッセージ<textarea>フィールドは、空です。

ここに私のHTMLの入力フィールドです:

<div id="writePanel"> 
    <p>Your Name</p> 
    <input id="writeName" type="text"> 
    <p>Message</p> 
    <textarea id="writeArea"></textarea> 
    <div id="sendButton">Send</div> 
</div> 

はここでJSのコードです:

$(document).ready(function() { 

    var data = { 

     name: document.getElementById("writeName").value, 
     message: document.getElementById("writeArea").value, 
     time: new Date().getTime() 
    }; 

    $("#sendButton").click(function() { 
     $.ajax({ 
      type: "POST", 
      url: "message.receive", 
      contentType: "application/json", 
      data: JSON.stringify(data), 
      success: function (response) { 
       // ... 
      } 
     }) 


     }) 
}) 

私は何をしないのですか?

+0

は、これが唯一のJSを実行していますか?最初に値をクリアすることができますか?同じIDを持つ他の要素がページにありますか? – Trey

+0

完全にそれを逃した、@ zack.loreそれを釘付け – Trey

答えて

2

ボタンを押したときではなく、最初に値を設定しているようです。 AJAX呼び出しの前にクリック機能でデータオブジェクトに値を設定してみてください:

$("#sendButton").click(function() { 

    var data = {  
     name: document.getElementById("writeName").value, 
     message: document.getElementById("writeArea").value, 
     time: new Date().getTime() 
    }; 

    $.ajax({ 
     type: "POST", 
     url: "message.receive", 
      contentType: "application/json", 
      data: JSON.stringify(data), 
      success: function (response) { 
       // ... 
      } 
    }) 

}) 
関連する問題