Ich verstehe wirklich nicht, wie mit Post-Daten von Ajax Anfrage zu behandeln. Das ist mein javascript:Ajax Post Anfrage Handle Daten in Symfony2 Controller
$.ajax({
type: "POST",
url: Routing.generate('save'),
contentType: 'application/json; charset=UTF-8',
data: {
title: title,
description: description,
questions: questions,
}
});
Der einzige Weg, um die Daten in meiner Controller-Aktion zu bekommen, ist dies:
$content = $request->getContent()
$ content ist ein URL-Parameter-String. warum ich nicht bekommen die Daten normalerweise mit:
$request->get('title')
Was ist der richtige Weg, um die Post-Daten mit jquery ajax methd zu behandeln?
Vielen Dank.
EDIT
So fand ich die folgende Frage aus:
In meinem aktuellen Projekt die Anforderung wie folgt aussieht:
$.ajax({
type: "POST",
url: Routing.generate('poll_save'),
data: {
title: title
}
})
Die Daten angefordert werden über Anfrage Payload, aber ich weiß es nicht Warum.
In einem sauberen Projekt sieht die Anfrage wie folgt aus:
$.ajax({
type: "POST",
url: '{{path('_demo')}}',
data: {
title: 'title',
description: 'description',
questions: 'questions',
pollid: 1
}
})
Alles, was in meinem Projekt nicht in Ordnung ist. Haben Sie eine Idee, warum die Daten über Anfrage Payload angefordert werden?
Und das ist der normale Workflow? Ich dachte, der Ajax-Mehtod würde das alleine bewältigen? –
Ja, weil $ .ajax die Daten nicht zu JSON serialisiert. – anazimok
Aber warum kann ich nicht die normalen requets Methoden benutzen? Ich bekomme nur die Daten über $ request-> getContent() –