Amplifyjs GET запрос с телом

Я хотел бы иметь возможность использовать GET с телом сообщения, используя AmplifyJS.

Мой вопрос конкретно о том, как этого добиться с помощью AmplifyJS.

Синтетические тесты работают хорошо (Fiddler - мой тестовый клиент). Но когда я делаю это через AmplifyJS, "тело" добавляется в строку запроса. (Правка: это ограничение базового jQuery "ajax" или это выбор AmplifyJS)

amplify.request.define('trickyGet', 'ajax', {
                url: 'entity/{param}',
                dataType: 'json',
                type: 'GET',
                contentType: '???'
            });

затем

amplify.request({
                    resourceId: 'trickyGet',
                    data: { param: 'paramVal', data: JSON.stringify({'complex1': 'complex1Val'}) },
                    //data: { param: 'paramVal', data: {'complex1': 'complex1Val'}) },
                    success: callbacks.success,
                    error: callbacks.error
                });

Я попробовал все виды комбинаций с тем, как мои сложные данные представлены и что content-type использовать.

Если я изменю type в POST (и, конечно, изменить мою конечную точку API), все работает (data находится в теле сообщения). Но с получением, data добавляется в строку запроса (AplifyJS).

1 ответ

Решение

ampify.js использует jQuery's ajax() метод, который в свою очередь ограничивает как data отправлено во время get Запросы.

Другие вопросы по тегам