【问题标题】:AJAX Call not working in liferay 6.2.2?AJAX 调用在 liferay 6.2.2 中不起作用?
【发布时间】:2015-08-20 10:23:30
【问题描述】:

我正在尝试执行AJAX 呼叫。但是当我在 chrome 中看到错误时,我得到的是 ResourceURL 未定义。

下面是我的代码。

声明:

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

实施:

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

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

【问题讨论】:

  • 我认为你需要使用“mainURL”而不是resourceURL
  • 是的,幸运的男孩我也试过了..似乎没有用
  • 您是否尝试过使用类似 ${mainURL} 的东西,因为它是一个变量
  • 不,我会试一试
  • 它在 6.1 中完美运行

标签: ajax liferay hook liferay-6


【解决方案1】:

非常感谢 Olaf Cock 和 Gevatterajan 的指导。第一个问题是: 用var 替换varImpl 并在我从6.1 迁移到6.2 时删除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>

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

【讨论】:

    猜你喜欢
    • 2021-11-06
    • 2017-04-07
    • 2017-06-10
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多