Как POST-данные по полезной нагрузке вместо formdata

Я пытаюсь обратиться к службе Alfresco с помощью веб-скрипта, который я сделал, передавая некоторые данные json по полезной нагрузке.

Это сервис Alfresco:

http://localhost:8080/share/proxy/alfresco/api/internal/downloads

И мне нужно передать json-массив с некоторым узлом скрипта, например:

var jsonData = "[{'nodeRef':'workspace://SpacesStore/920b43d4-e79c-40eb-96f3-1dff3a169929'},  {'nodeRef':'workspace://SpacesStore/f19fba4b-0cf6-4379-a858-70d0d7d9efb0'},{'nodeRef':'workspace://SpacesStore/6ea51288-9364-4070-a23b-499025a6c1f9'}]";

Я звоню по этому пути

$.ajax({
    url: serviceUrl,
    type: "POST",
    dataType: "json",
    data: jsonData
}); 

К сожалению, когда я просматриваю список запросов из инструментов разработчика, я вижу, что мои данные json передаются как данные формы в запросе, и я получаю ответ об ошибке внутреннего сервера.

Я видел тот же сервис, который использовался на другом веб-сайте, и там данные передаются как полезная информация, поэтому мне действительно нужны данные, которые нужно передать на полезную нагрузку.

Кто-нибудь знает, как заставить его?

Ответы

Ответ 1

Я думаю, что это зависит от заголовка Content-Type запроса; если тип содержимого "application/x-www-form-urlencoded", то он отображается в виде данных формы. Если вы положили - например, Content-Type: application/json, json должен быть частью полезной нагрузки. Вы можете использовать:

$.ajax({
    url: serviceUrl,
    type: "POST",
    dataType: "json",
    data: jsonData,
    contentType: "application/json"
});