【问题标题】:Getting error trying to load json from javascript尝试从 javascript 加载 json 时出错
【发布时间】: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


【解决方案1】:

jsonArray 是一个 DOM 对象。要访问其value 属性,请使用value 属性:

httpRequest.open('GET', jsonArray.value);

【讨论】:

  • 好的,我明白了。我得到了 null 值,我不知道为什么 jsonArray 被作为 null 从 jsp 传递到 js 文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 2014-06-14
  • 2016-08-29
相关资源
最近更新 更多