代码之家  ›  专栏  ›  技术社区  ›  Chrissa

Uncaught SyntaxError:位置1的JSON中出现意外标记o错误[重复]

  •  1
  • Chrissa  · 技术社区  · 6 年前

    这个问题已经有了答案:

    我想添加一些功能,当您选择一个事件选项时,它将在日历下面呈现一个列表。我使用了select选项,当它改变值时,它将填充一个列表。我正在使用jQuery和JSON文件这是代码,但它返回一个错误。

    JSON format example: {
        "title": "",
        "start": "",
        "tags": "",
        "imageurl": "",
        "products": [
          {
            "name": "",
            "url": "",
            "time": "",
            "location": ""
          }
    
         ]
         }
    

    VM66:1 Uncaught SyntaxError:位置1的JSON中出现意外的标记o 在JSON.parse() 在Object.success上(eventcalendarjson.html:610) 在n处(jquery.min.js:2) 在Object.fireWith[as resolveWith]上(jquery.min.js:2) 在w(jquery.min.js:4) 在XMLHttpRequest.d上(jquery.min.js:4)

    $("#search").change(function () {
            $("html, body").animate({ scrollTop: $(".calendar").offset().top }, 1500);
            var selectedEvent = $("#search").val();
    
            $.getJSON('events.json', function (data) {
                var ourData = JSON.parse(data);
                render(selectedEvent, ourData);
            });
        });
    
        function render(selectedEvent, data) {
            $(".order-details-table").empty();
            $(data).each(function (i, v) {                
                if (selectedEvent == 'all' || v.tags == selectedEvent) {
                    if (v.products)
                        $(v.products).each(function (index, p) {
                            $(".order-details-table").append('<tr><td class="o-box-name"><a name="detailsevent">' + p.name + '</a></td><td class="o-box-name">' + v.title + '<br><small>' + p.time + '</small><small>&nbsp' + p.location + '</small></td><td><a href="' + p.url + '" class="cancel-del-text" target=_"blank">Register!</a></td></tr>');
                        });
                }                
            });
        }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   charan kumar    6 年前

    你正在分析已经分析过的数据,

    试着直接使用“数据”

    $("#search").change(function () {
            $("html, body").animate({ scrollTop: $(".calendar").offset().top }, 1500);
            var selectedEvent = $("#search").val();
    
            $.getJSON('events.json', function (data) {
    
                render(selectedEvent, data);
            });
        });