AJAX 调用在 liferay 6.2.2 中不起作用?

AJAX Call not working in liferay 6.2.2?

我正在尝试执行 AJAX 呼叫。但是当我看到 chrome.

中的错误时,我得到的是 ResourceURL 未定义

下面是我的代码。

声明:

<liferay-portlet:resourceURL copyCurrentRenderParameters="<%= false %>" var="mainURL" />

实施:

xhr2.open("POST", resourceURL , false);

但是在实现时我得到 resourceURL 未定义。在 6.1 中,它曾经工作正常。我不知道是否有任何替代方法可以使用它。请指导。

非常感谢 Olaf Cock 和 Gevatterajan 的指导。第一个问题是: 在我从 6.1 迁移到 6.2 时用 var 替换 varImpl 并删除 copyCurrentRenderParameters。 定义应该是这样的:

<liferay-portlet:resourceURL var="mainURL" />

同样,我们在开发 6.2 时必须对 renderURL 和其他 URL 重复。大多数情况下,我遗漏了一些在我的 view.jsp 中提到的重要导入。 例如,在我的 view.jsp 中提到的 editFileEntryURL 其实现在 view_entries.jsp 中提到。下面是实现代码。

<portlet:resourceURL var="editFileEntryURL">
    <portlet:param name="struts_action" value="/document_library/dlsample" />
    <portlet:param name="<%= Constants.CMD %>" value="<%= Constants.ADD %>" />
    <portlet:param name="repositoryId" value='<%= "" + repositoryId %>' />
    <portlet:param name="folderId" value='<%= "" + folderId %>' />
    <portlet:param name="workflowAction" value='<%= "" + WorkflowConstants.ACTION_PUBLISH %>' />
    <portlet:param name="displayStyle" value="<%= displayStyle %>" />
    <portlet:param name="redirect" value="<%= currentURL %>" />
</portlet:resourceURL>

我正确地组织了我的导入,是的,现在我的代码已经开始工作了..干杯。