gpt4 book ai didi

jquery - Firebase REST API POST 请求失败,错误为 : "Invalid data; couldn' t parse JSON object, 数组或值...”

转载 作者:行者123 更新时间:2023-12-03 22:37:26 28 4
gpt4 key购买 nike

我正在尝试使用 Firebase REST API 将内容保存到我的数据存储中。我尝试使用 jQuery 和 vanilla JS XHR。但是,两者都给出相同的错误。 403 错误请求和此响应:

Invalid data; couldn't parse JSON object, array, or value. Perhaps you're using invalid characters in your key names.

这是我的示例 JSON,我正在尝试保存:

{
"date": "2pm",
"name": "John"
}

这是示例 ajax 请求:

jQuery.ajax({
accept: "application/json",
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "https://something.firebaseio.com/endpointnode.json",
data: {
"name": "John",
"date": "2pm"
},
});

请求的响应:

{
"error" : "Invalid data; couldn't parse JSON object, array, or value. Perhaps you're using invalid characters in your key names."
}

如您所见,没有特殊字符或任何东西。它应该可以工作。

它与 CURL 和 Httpie 配合良好。我尝试检查 Httpie 中的 -v 选项以获取详细信息。我像 Httpie 一样放置了所有 header 。没有任何帮助。顺便说一句,我的环境是可写的,所以不应该有任何权限问题。

知道如何实现这一目标吗?

谢谢。

最佳答案

您已通过分配 contentType 属性指定您的 AJAX 请求包含 json 字符串。但是,附加到请求的参数不是 JSON 字符串。为了使数据成为 json 字符串,只需调用 JSON.stringify(params) 方法即可。

以下代码片段可以帮助您解决问题。

var data = {"name": "John", "date": "2pm"};
jQuery.ajax({
accept: "application/json",
type: 'POST',
contentType: "application/json; charset=utf-8",
dataType: "json",
url: "https://something.firebaseio.com/endpointnode.json",
data: JSON.stringify(data),
});

干杯。

关于jquery - Firebase REST API POST 请求失败,错误为 : "Invalid data; couldn' t parse JSON object, 数组或值...”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800923/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com