我试图从我制作的网络脚本向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数据在请求中作为表单数据传递,我收到内部服务器错误响应。
我看到在另一个网站上使用相同的服务,并且数据作为有效负载传递,因此,我认为确实需要在有效负载上传递数据。
有谁知道如何强迫它?
答案 0 :(得分:31)
我认为这取决于请求的Content-Type标头;如果内容类型为" application / x-www-form-urlencoded"然后它显示在表格数据下。如果你把 - 例如 - Content-Type:application / json,json应该是有效载荷的一部分。您可以使用:
$.ajax({
url: serviceUrl,
type: "POST",
dataType: "json",
data: jsonData,
contentType: "application/json"
});