2016-06-01 9 views
0

Ich versuche, eine Ajax-Anfrage an den Server zu machen. Die Anforderung wird erfolgreich gesendet, aber die Parameter sind im Anforderungstext nicht geeignet.Javascript - Ajax Anfrage Null Daten

Parameter im Körper mit Browser-Netzwerk-Tool gezeigt:

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

<input> und die <textarea> Felder Nachricht sind

Die Name leer ist, obwohl sie nicht sein sollte.

Hier ist mein HTML-Eingabefelder:

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

Hier ist der Code 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) { 
       // ... 
      } 
     }) 


     }) 
}) 

Was bin ich?

+0

Ist dies der einzige JS läuft? Könnte etwas anderes die Werte zuerst löschen? Haben Sie andere Elemente mit derselben ID auf der Seite? – Trey

+0

Total verpasst, @ zack.lore genagelt es – Trey

Antwort

2

Es sieht so aus, als würden Sie Ihre Werte am Anfang und nicht beim Drücken der Taste einstellen. Versuchen Sie, die Werte im Datenobjekt in der Click-Funktion vor dem Ajax-Aufruf zu setzen: