我正在开发 Liferay portlet。portlet 应该从与 Liferay 相同的服务器加载 xml 文件,然后通过 ajax 解析此 xml 并将这些值传递给 jQuery。我从 html 文件开始仅测试功能。到目前为止一切正常,但是当我将 html 和 js 代码放入 portlet 时,jQuery 可以工作,但我无法加载文件。我想让 xml 文件位于 /etc/config_files/settings.xml
这是 jQuery 我的脚本的一部分
function getToolContent(tool){
var layer = '.links_' + tool.toLowerCase();
$(layer).text("");
$.ajax({
type:"GET",
url: "/etc/config_files/settings.xml",
dataType: "xml",
success: function(xml){
$(xml).find("tool").each(function() {
if($(this).find('section').text() == tool){
var title = $(this).find('title').text();
var text = $(this).find('text').text();
$(this).find("link").each(function() {
var label = $(this).find('label').text();
var referer = $(this).find('referer').text();
$(layer).append('<a href="' + referer + '" class="formatted_link" alt="'+ tool + ' link">'+ label +'</a><br>');
});
$("#text").html('<h2>'+ title + '</h2>' +'\n'+ text);
}
});
}
});
}
这是xml文件的示例
<?xml version="1.0" encoding="UTF-8"?>
<descriptions>
<tool>
<section>TOOL NAME</section>
<title>TOOL TITLE</title>
<text>
<![CDATA[
<ul>
<li>FEATURE 1</li>
<li>FEATURE 2</li>
<li>FEATURE 3</li>
</ul>
]]>
</text>
<links>
<link>
<label>TOOL LINK LABEL 1</label>
<referer>https://mytool1.com/</referer>
</link>
<link>
<label>TOOL LINK LABEL 2</label>
<referer>https://mytool2.com/</referer>
</link>
</links>
</tool>
<tool>
...
</tool>
</descriptions>
只是我无法从 settings.xml 获取数据
-感谢帮助