【问题标题】:JSON file is fetched correctly but fetched data are not displayed in console logJSON 文件已正确获取,但获取的数据未显示在控制台日志中
【发布时间】:2017-07-03 13:15:43
【问题描述】:

我正在尝试执行一个简单的 ajax 请求以从服务器检索 json 文件并将其存储在 javascript 对象中。

我尝试了 2 种不同的方法 .ajax() 方法和 .getJSON()。 网络控制台中的两种方法似乎都以 HTTP/1.1 200 OK 的结果获取文件。

但是当我尝试使用 console.log(data) 在控制台中输出接收到的数据时,什么都没有显示。

当我在本地运行我的代码并且网络服务器位于 Rpi(Wordpress) 上时,我在 Firefox 中启用了跨域请求。

$.ajax({
            url: 'http://192.168.0.227/json/sysC01.json',
            dataType: 'json',
            type: 'GET',
            cache: false,
            crossDomain: true,
            success: function(data){
                console.log(data);
            },

        });


$.getJSON("http://192.168.0.227/json/sysC01.json", function(result){
                console.log(result);
            });

作为第一步,我想看到数据被接收,我现在不能,然后我想将数据存储在 Javascript 对象中,并将它们输出到具有特定格式的 div 元素中.

非常感谢任何建议。

【问题讨论】:

  • 您的开发者控制台(浏览器)的网络选项卡中的 http 响应是什么 实际有数据吗?
  • 在 google-chrome 开发者中检查您的网络选项卡以查看您的请求结果,可能您的请求不会发送或没有成功返回并出现错误
  • 写一个错误函数并检查它是否抛出错误。
  • @lonut 他告诉我们他收到了 HTTP/1.1 200 Ok,但它也可以返回一个空值并说它是 Ok。
  • 在网络控制台中单击响应并检查右侧窗口中的“响应”选项卡以检查数据是否到来。 HTTP/1.1 200 OK 并不意味着你有数据。这意味着请求得到响应,没有任何错误。

标签: javascript jquery json ajax wordpress


【解决方案1】:

在尝试了很多不同的方法后,解决了这个问题的方法是在禁用网络安全的情况下从命令行运行 Chrome。
相关命令:

chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-31
    相关资源
    最近更新 更多