【发布时间】:2016-03-14 09:43:15
【问题描述】:
在普通的 HTML 页面中一切正常,但是在 liferay portlet 中使用相同的代码,我遇到了这个问题:
GET http://localhost:8080/web/guest/data/myfile.json 404(未找到)index.js:103
这是代码:
function loadFiles(){
loadJSONNetworkInventory(function(response) {
parsedMyFile = JSON.parse(response);
});
}
function loadJSONNetworkInventory(callback) {
var xobjNI = new XMLHttpRequest();
xobjNI.overrideMimeType("application/json");
xobjNI.open('GET', 'data/myfile.json', false);
xobjNI.onreadystatechange = function () {
if (xobjNI.readyState == 4 && xobjNI.status == "200") {
callback(xobjNI.responseText);
}
};
xobjNI.send(null);
}
【问题讨论】:
-
您是否尝试过使用
<%=request.getContextPath()%>/data/myfile.json? -
是的,但这是错误:GET localhost:8080/web/guest/%3C%=request.getContextPath()%%3E/data/… 400 (Bad Request) index.js:103
-
首先在您的portlet 的根目录下创建一个
data文件夹,将您的JSON文件放在那里,然后使用此路径/data/myfile.json。 -
完整的 URL 应该像
http://localhost:8080/your-portlet/data/myfile.json -
谢谢你,使用它的整个网址。
标签: javascript json liferay