【问题标题】:Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse(<anonymous>)未捕获的 SyntaxError:JSON.parse(<anonymous>) 处的 JSON 输入意外结束
【发布时间】:2021-06-08 17:39:23
【问题描述】:

我正在处理对 API 的 ajax 调用。在调用这个调用时,我一直遇到这个错误。请帮忙。我已经尝试了几个小时,但不确定问题是什么。我已经取出了

JSON.parse 并将它们添加回来看看是否有帮助,但仍然没有进展。

 $.ajax({
        type: "POST",
         //url: 'http://aeM/api/getDataId',
        url: '/bin/soupservice.getDataAccordToId.html',
        //async: false,
        data: IDschema,
        //contentType: "application/json",
        beforeSend: function () {
            // Show image container
            $("#wait").css("display", "block");
        },
        
    success:function (data, textStatus, jqXHR) {
    console.log(jqXHR.status);
   
        if (JSON.parse(data)) {
            let fileDeviceData = [];
            let uploadDate = [];
            fileDeviceData = data;
            let deviceNameFromFileData = [];
            $.each(JSON.parse(data), function (i, element) {
                dataInFile.push(element.file);
                deviceNameFromFileData.push(element.deviceName);
                //push an object while interacting with API. used to get similar index locations for later use
                duplicateIdCheckedList.push({
                    "deviceName":element.deviceName,
                    "lastUploadDate":element.lastUploadDate.split(" ")[0] ,
                    "fileName": element.deviceName+ " "+element.lastUploadDate.split(" ")[0],
                    "id":element.id
                    
    
                });
                let utcTime = element.lastUploadDate;
                let utcText = moment(utcTime).format("L LT");
                let anotherway = moment.utc(utcTime).local().format("L LT");
                let firstConvertedString = anotherway.split("/").join("-").replace(",", "");
                uploadDate.push(firstConvertedString.split(":").join("-").replace(",", ""));
            })
            //call on the findDuplicateIndex function to organize all the files that will be consolidated together
            duplicates=findDuplicateIndex(duplicateIdCheckedList);
            valuesforBrowserTime = uploadDate
            exportAsTxt(deviceNameFromFileData, valuesforBrowserTime);
        }

【问题讨论】:

    标签: javascript ajax api error-handling


    【解决方案1】:

    我看到您正在请求 .html 文件并将数据传递给 JSON.parse,该文件需要 JSON 格式。

    您可能需要使用不同的方法进行解析。

    【讨论】:

    • 知道使用什么方法吗??
    • 如果您在浏览器中,您可以使用某些元素的innerHTML。然后你可以遍历 DOM。在 NodeJS 中,你可以使用类似 cheerio
    • @user12750353 我正在使用 Jquery。有关如何在该框架中执行此操作的任何线索?
    • 你看到我的 $.each 函数了吗?使用节点如何从每个元素中获取属性??
    猜你喜欢
    • 2018-12-09
    • 1970-01-01
    • 2020-10-05
    • 2019-07-10
    • 2020-03-09
    • 2021-02-27
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多