2016-07-06 17 views
0

Ich versuche, eine AJAX-Anfrage zu senden, aber wenn ich die Variable "newValue" senden, die eine Zeichenfolge ist, erhält der Server immer den Inhalt plus ein "=". Wenn ich also "20.09.2009" sende, bekommt der Server "20.09.2009 =". Warum? Ich kann das nicht loswerden. Unten ist mein Code: Muss ich bestimmte Überschriften senden?Hinzufügen von "=" auf AJAX-Anfrage Körper

$.ajax({ 
     url: url, 
     dataType: 'json', 
     type: 'POST', 
     data: newValue, 
     success: function(data) { 
      if (data.perrorCode){//there is a validation error 
       this.setState({error: `Validation Error. Expected format: ${data.perrorMessage}. Got format: ${data.pvalue}`}); 
       callback(false); 
      } else 
       callback(true); 
     }.bind(this), 
     error: function(xhr, status, err) { 
      console.error(url, status, err.toString()); 
     }.bind(this) 

Wenn ich den Wert direkt vorher ausdrucke, gibt es kein "=". Wenn ich erweiterte REST-Client Add-on für Google Chrome verwenden und die genau die gleiche Sache gesetzt, antwortet der Server richtig, als er bekommt nur „20.09.2009“

+0

Wie testen Sie, was der Server bekommt? Haben Sie sich die Registerkarte "Netzwerk" in den Entwicklerwerkzeugen Ihres Browsers angeschaut, um zu sehen, ob sie hinzugefügt wird, bevor die Daten gesendet werden? Wie liest du es auf dem Server? Wenn Sie reinen Text senden, warum setzen Sie den 'Content-Type' auf' text/plain', anstatt den Standardtext zu verlassen? – Quentin

+0

@Quentin Ich habe meine Frage aktualisiert. Ich habe "dataType: 'json'" entfernt, aber ich bekomme immer noch den Fehler – Marc

+0

* Ich habe "dataType: 'json'" * entfernt - warum? – Quentin

Antwort

0

Als @Quentin vorgeschlagen habe ich das Attribut contentType: 'text/plain' und mein Problem war, hinzugefügt Weg.