Javascript Fetch:错误 Unexpected token < in JSON at position 0

Posted

技术标签:

【中文标题】Javascript Fetch:错误 Unexpected token < in JSON at position 0【英文标题】:Javascript Fetch : Error Unexpected token < in JSON at position 0 【发布时间】:2021-01-10 04:04:36 【问题描述】:

我正在向我的 Django 视图发送一个 POST 请求。当我在本地运行代码时它可以工作,但是当我在我的 apache 服务器上运行它时,它给了我一个 500 错误。你能帮我吗,拜托!!

这是我的代码:

  form.addEventListener('submit', e=>
            e.preventDefault()
            const baseInput = document.querySelector('#inputbaseform0')
            if(baseInput.value !== null)
                $('#loadMe').modal('show');
                let data = 
                data['base'] = baseInput.value
                data['tiempo'] =tiempo.value
                data['otros'] =otros.value
       
                
                let url = "% url 'cal' %";
                
                fetch(url, 
                    method: "POST",
                    credentials: "same-origin",
                    headers: 
                        "X-CSRFToken": document.querySelector('#form0 input').value,
                        "Accept": "application/json",
                        "Content-Type": "application/json"
                    ,
                    body: JSON.stringify(data)
                ).then(function(response)
                    return response.json();
                ).then(function(data)
                    console.log('ERROR: ', data.error)
                    baseData = parseFloat(data.base).toFixed(2)

                    deducir.value = data.porciento//porciento
                    
                    $('#loadMe').modal('hide');

                ).catch(function (e)
                    console.log('Error', e);
                    $('#loadMe').modal('hide');

                )
            
        )
    )

【问题讨论】:

意味着你没有 JSON.... 看起来你有 html。查看错误消息,看看服务器在抱怨什么。 它说加载资源失败:服务器响应状态为 500(内部服务器错误)。错误发生在 fetch(url, 我遍历数组查看数据,它们都是字符串。 查看网络请求或服务器日志,看看是什么错误。问题出在服务器上。 【参考方案1】:

您的问题不在您的 js 代码中。此代码完全符合您的要求,尝试将响应数据解析为 json。但是你的 django 视图由于某种原因返回了 500 错误页面,而这个页面是 html 以“

日志可以告诉你为什么你的 django 视图会抛出异常。

【讨论】:

以上是关于Javascript Fetch:错误 Unexpected token < in JSON at position 0的主要内容,如果未能解决你的问题,请参考以下文章

在 javascript 中使用 fetch 请求 API 存在 CORS 策略错误

如何处理 JavaScript Fetch 错误?

在 iOS 上调用“fetch”时出现 Javascript“TypeError:cancelled”错误

如何使用 fetch 在 javascript 中获取 php 错误消息

Javascript fetch 处理 json 和 blob

JavaScript中fetch获取后台数据