Может ли кто-нибудь помочь мне обработать запрос POST, я прочитал docs, но мне непонятно, как обращаться с запросом POST, который я отправляю со страницы, на vibed-сервер.vibed: Как я могу обрабатывать запрос POST?
Я написал следующий код:
import vibe.d;
import std.stdio;
void main()
{
auto router = new URLRouter;
router.any("*", &accControl);
router.any("/my", &action);
auto settings = new HTTPServerSettings;
settings.port = 8080;
settings.bindAddresses = ["::", "127.0.0.1"];
listenHTTP(settings, router);
runEventLoop();
}
void accControl(HTTPServerRequest req, HTTPServerResponse res)
{
res.headers["Access-Control-Allow-Origin"] = "*";
}
void action(HTTPServerRequest req, HTTPServerResponse res)
{
// how get string from POST request here. And how get JSON object, if server send it.
}
но какой метод следует использовать для REQ? Как я понимаю, ожидание тела POST отправляет много других данных.
запрос POST отправляет с JQuery:
$.post("http://127.0.0.1:8080", "\"answers_result\":777");
Так что мне нужно, чтобы получить это JSON и отправить с vibed это к БД. Но проблема, которую я не могу понять, как ее обрабатывать.
FYI 'std.stdio.writeln' является частью блокировки ввода-вывода. Вы не должны использовать его в цикле событий. – sibnick
Я должен указать, что '' \ "answers_result \": 777 "' недействителен JSON. Вероятно, вы имели в виду '' {\ "answers_result \": 777} "'. – sigod
JS tip: использовать одиночный кавычек. Например. '' {"answers_result": 777} ''- видите? Нет необходимости скрывать '' '. – sigod