Java TypeError:g.getResponseHeader未定义

Java TypeError:g.getResponseHeader未定义,java,http-headers,cors,alfresco,alfresco-share,Java,Http Headers,Cors,Alfresco,Alfresco Share,我有以下代码: Connector conn = FrameworkUtil.getConnector(context, ALFRESCO_ENDPOINT_ID); ConnectorContext c = new ConnectorContext(HttpMethod.POST); c.setContentType("application/json"); Response res = conn.call("/slingshot/profile/userprofile", c,

我有以下代码:

Connector conn = FrameworkUtil.getConnector(context, ALFRESCO_ENDPOINT_ID);
ConnectorContext c = new ConnectorContext(HttpMethod.POST);
c.setContentType("application/json");

Response res = conn.call("/slingshot/profile/userprofile", c,
                    new ByteArrayInputStream(buf.toString().getBytes()));
这将向链接发送帖子:
POSThttp://localhost:8080/share/service/components/profile/userprofile

但是,我得到了一个错误:

TypeError:g.getResponseHeader未定义

…函数(g){var b=g.argument.config;var f=g.getResponseHeader[“内容类型”]| | g

在互联网上的一次搜索中,我发现通过使用CORS添加内容类型可以解决这个问题

比如:

 .header("Access-Control-Allow-Headers", "x-requested-with,Content-Type");
如何在我的代码中做到这一点?使用Connector或ConnectorContext,我找不到设置标题的方法


或者,如果这不是解决此问题的方法,我该如何解决此错误?

我认为您可能在这里配置了一些错误的内容,或者您可能误解了一些内容。如果您正在与ALFRESCO_ENDPOINT_ID进行远程连接,则这通常意味着您正在尝试连接到ALFRESCO存储库,并且基于在您所说的试图从中进行调用的地方,它似乎是在共享应用程序中运行的Java支持的WebScript中-这是否正确

如果是,则应请求的URL实际上是:

http://localhost:8080/alfresco/service/slingshot/profile/userprofile
这相当于调用以下命令:

http://localhost:8080/share/proxy/alfresco/slingshot/profile/userprofile
(第二个URL自动代理到Alfresco enpoint)

如果Alfresco存储库和共享都在同一台服务器上运行(使用端口8080意味着您会这样做),那么您不应该遇到CORS问题——除非您试图从本地主机转到Alfresco存储库运行的某个远程位置

共享/冲浪应该为您解决所有这些问题-也许您可以提供更多关于您正试图做什么的上下文, 代码运行的位置(例如WebScript、Share等)以及您尝试连接到的位置


这可能有助于最好地建议如何解决您的主要问题。

CORS与跨源脚本相关,这意味着您要在客户端脚本中跨越不同的域。这是真的吗?如果不是,您能确认其中的内容类型是否正确吗?有许多不同的类型…首先,感谢您的回答。我在美国rl:http:localhost:8080/share/page/user/my name/profile,我正在尝试访问问题中的链接。内容是json。@Johnlee谢谢您的回答!!Respository和share在同一台服务器上。如果不是CORS错误,可以是哪一个?