【发布时间】:2017-01-22 13:02:17
【问题描述】:
我的 javascript 出现问题。我正在尝试像这样将 json 数组加载到 ag-grid 并且下面的工作正常,因为我只是从 json 文件中加载 json:
var httpRequest = new XMLHttpRequest();
httpRequest.open('GET', '../dist/output.json');
httpRequest.send();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
var httpResult = JSON.parse(httpRequest.responseText);
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
var parsedData = httpResult.map(function(obj) {
return Object.keys(obj).reduce(function(memo, key) {
var value = obj[key];
memo[key] = isNumeric(value) ? Number(value) : value;
return memo;
}, {})
})
但是,当我以以下方式执行此操作时(即,从 jsp 获取 json 数组,console.log(jsonArray) 显示正常,但出现错误:
var jsonArray = document.getElementById("jsonArray");
console.log(jsonArray);
var httpRequest = new XMLHttpRequest();
httpRequest.open('GET', jsonArray);
httpRequest.send();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
var httpResult = JSON.parse(httpRequest.responseText);
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
var parsedData = httpResult.map(function(obj) {
return Object.keys(obj).reduce(function(memo, key) {
var value = obj[key];
memo[key] = isNumeric(value) ? Number(value) : value;
return memo;
}, {})
})
我收到以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
如何更改第一个代码,以便我可以正确读取包含所有 json 数据的 jsonArray。
更新:
jsonArray 是来自 jsp 的以下内容:
JSONArray jsonArray = new JSONArray(orderDetailsList1);
<input type="hidden" value="<%out.println(jsonArray);%>" id="jsonArray"/>
【问题讨论】:
-
为什么?你的网址是错误的。怎么修?找出正确的 URL。
-
#jsonArray元素是什么? -
@MarcB 哪个网址?
-
呵呵 你想打开 DOM 元素吗? httpRequest.open('GET', jsonArray); jsonArray 是来自 html 的 DOM 元素。疯狂的想法。
-
你正在做一个 AJAX 请求,这只是一个普通的 http 请求,你请求的 url 不存在,所以你得到一个 404。
标签: javascript json ag-grid