【问题标题】:Uncaught SyntaxError: Unexpected token o in JSON at position 1 error [duplicate]未捕获的 SyntaxError:位置 1 错误的 JSON 中的意外标记 o [重复]
【发布时间】:2019-01-03 06:20:12
【问题描述】:

我想添加一些功能,当您选择一个活动选项时,它会在日历下方呈现一个列表。我使用了选择选项,当它更改值时,它将填充一个列表。我正在使用 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>');
                    });
            }                
        });
    }

【问题讨论】:

  • 不需要解析数据,直接使用render(selectedEvent, data);
  • 是的 - 当您尝试双重解析返回的数据时,我相信意外的“o”来自[object object]

标签: jquery json


【解决方案1】:

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

尝试直接使用“数据”

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

        $.getJSON('events.json', function (data) {

            render(selectedEvent, data);
        });
    });

【讨论】:

    猜你喜欢
    • 2019-11-08
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多