JQuery Post изменяет данные json на строку запроса - PullRequest
0 голосов
/ 04 октября 2019

Я выполняю JSON POST через $.post(), но, похоже, он меняет мое POST содержимое с JSON на Параметры строки запроса.

I POST следующее к конечной точке:

$.post('/proxy/endpoint.json', { "query": {"test": true, "msg": "test" } });

Сервер, обрабатывающий запрос, показывает следующие журналы:

ERROR - Bad POST params: query%5Btest%5D=true&query%5Dmsg%5Btest

Поток запросов:

JavaScript -> IIS Rewrite Proxy -> Nginx -> конечная точка Java Server, e.g. localhost:4000/endpoint.json

ПРИМЕЧАНИЕ: Я протестировалтот же POST-запрос через Почтальон напрямую к IIS Server , который работает нормально. Так что это может быть только мой Jquery, который вызывает эту проблему.

Любые советы о том, как я могу улучшить это?

Ответы [ 2 ]

1 голос
/ 04 октября 2019

вернитесь к jQuery.post и передайте правильный объект params

для вашего примера измените код на

$.post('/proxy/endpoint', {"test": true, "msg": "test" });
0 голосов
/ 04 октября 2019

В этом случае ответом было использование строкового представления объекта JSON.

$.post('/proxy/endpoint.json', JSON.stringify({ "query": {"test": true, "msg": "test" } }));

Это сработало.

Спасибо Ахмеду Эль-Сайеду за ведение меня в правильном направлении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...