将内容类型设置为 application/json 时出现意外令牌错误

Unexpeced token error when setting contentType to application/json

我正在使用 AJAX POST 发送数据。数据为 JSON 格式。见下文。但是,我不断收到 'Unexpected token u in JSON at position 0'。为什么会这样?我在这里设置 contentType 的原因是布尔字段 checked 不会转换为字符串。

var data = {
  "user": "tom",
  "number": 9,
  "checked": false
}

$.ajax({
    url: url,
    method: "POST",
    data: data,
    contentType: 'application/json',
    dataType: 'json',
    beforeSend: function (xhr) {
        xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
    },
    success: function (success) {
        console.log("success");
    }
});

使用contentType: 'application/json',时需要自己对数据进行字符串化:

data: JSON.stringify(data),

至于好像是响应问题的错误。检查浏览器开发工具网络中的实际请求并查看响应正文中实际包含的内容