jquery - AJAX GET 无法处理本地 JSON 文件?

标签 jquery ajax local-files

我有一个 JSONP URL,它正在提取数据并刚刚切换到本地 JSON 文件,现在我收到错误。我不明白为什么它不能使用本地 JSON 文件?

<script type="text/javascript">
    $.ajax({
        type : 'GET',
        dataType : 'json',
        url: '/json/topics.json',
        success : function(data) {
            console.log(data); 
            var topics = [];
            $.each(data.results, function(index, obj){
                topics.push({
                    username: obj.TopicName,
                    mentions: obj.LastHourCount,
                    totalcount: obj.TotalCount,
                    daycount: obj.Last24HoursCount
                }); 
            });
            $('#leader').tmpl(topics).appendTo('#top3');
        } 
    });
</script>

在控制台中,由于某种原因,它说 AJAX 是一个匿名函数? 有什么建议吗?

最佳答案

$.ajax 是异步的,看起来您正在尝试在页面加载时更改 DOM,添加

async: false,

到您的$.ajax参数。请注意,这可能会减慢页面加载速度。

示例:

 $.ajax({
    type : 'GET',
    dataType : 'json',
    async: false,
    // rest of your code

如果您使用本地文件而不是通过网络服务器,并且获取 Access-Control-Allow-Origin 不允许 Origin null 错误,请参阅这篇文章:

Error: "Origin null is not allowed by Access-Control-Allow-Origin" when loading an XML file with JQuery's ajax method

关于jquery - AJAX GET 无法处理本地 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9066335/

相关文章:

hadoop - 如何通过hdfs导入/导出hbase数据(hadoop命令)

ios - 在 WKWebView 中加载本地文件在设备中不起作用

jquery - 使用 jQuery 从 ASP.NET 向用户显示消息

javascript - 从 greasemonkey 启动本地可执行文件

javascript - 如何创建批处理文件以添加来自 txt 文档的拉取信息

javascript - bootstrap3 - hide.bs.dropdown 函数无论 .click 定义如何都会触发? ..用 fiddle

javascript - AJAX 响应非常慢

php - 如何从自动完成中获取单击的输入单选值以将表单发送到 php 文件

javascript - 创建一个相对于某个div具有绝对位置的div

javascript - 单击时卡片翻转,仅使用关闭框关闭