JSON分析错误:无法识别的令牌'';以自然反应
我正在从事React Native项目,我试图将数据从服务器转换为JSON。 我已经在其他项目上做过,所以我知道它是如何工作的,但这次我有一个错误:JSON分析错误:无法识别的令牌'';以自然反应,json,parsing,react-native,Json,Parsing,React Native,我正在从事React Native项目,我试图将数据从服务器转换为JSON。 我已经在其他项目上做过,所以我知道它是如何工作的,但这次我有一个错误: “JSON解析错误:无法识别的令牌”事实上,我有一些POST参数要发送。请参阅以下内容: fetch('https://app.fr', { method: 'POST', headers: new Headers({ 'Content-Type': 'application/x-www-form-urlencode
“JSON解析错误:无法识别的令牌”事实上,我有一些POST参数要发送。请参阅以下内容:
fetch('https://app.fr', {
method: 'POST',
headers: new Headers({
'Content-Type': 'application/x-www-form-urlencoded',
}),
body: "tab_mobile=2",
})
.then((response) => response.text())
如果我将tab_mobile设置为1,我会得到:
{"message":"ok","tests":[{"id":"54","token":"6604","id_test":"20","Nom_prenom":"Alain DUPONT","Titre_du_test":"SIT 212 situation 1","fait":"0"},{"id":"55","token":"5066","id_test":"21","Nom_prenom":"Alain DUPONT","Titre_du_test":"SIT 212 situation 2","fait":"0"}]}
如果我将tab_mobile设置为2,我会得到:
{"message":"error"}
我试图用
JSON.parse(response.text())
如果tab_mobile=1,我会得到“JSON解析错误:无法识别的令牌”我发现了问题 在客户端发送给我的数据中,有一个不可见的第一个字符。 当我在手机上渲染它时,我看到了“{”消息“:“ok”,“testes::…}但是当我在控制台中登录它时,我看到在第一个“{”之前有一个奇怪的字符。 我用response.text()子字符串(1)删除了它,它工作了
感谢您的回答!问题与您的服务器响应有关,而不是与
内容类型有关。
服务器使用html进行响应。您是在控制服务器代码还是在使用第三方api?如果是第三方api,您很可能会收到错误的响应。请在重试之前检查响应。状态
rningresponse.json()
然后查看您是否得到了正常响应。谢谢您的回答!我无法控制服务器代码和响应。状态给我200,所以我认为是正常的。如果api在请求成功时返回html内容,那么您需要以某种方式解析html,然后将其转换为json或其他您可以使用的数据类型。我认为nk您应该开始研究这一点。问题是,返回的不是html内容,而是json内容。请参见下面的答案。您是否尝试在POST请求中设置“Accept”标题?在标题中尝试放置:“Accept”:“application/json;“此标题表示您希望以JSON格式接收数据,而content type标题仅表示您在正文字段中发送的内容的格式。可能问题不在于客户端,也可能是服务器端,服务器能够以JSON格式发送数据?您是否对其他客户端尝试过相同的HTTP方法?(不是您的程序)。
{"message":"ok","tests":[{"id":"54","token":"6604","id_test":"20","Nom_prenom":"Alain DUPONT","Titre_du_test":"SIT 212 situation 1","fait":"0"},{"id":"55","token":"5066","id_test":"21","Nom_prenom":"Alain DUPONT","Titre_du_test":"SIT 212 situation 2","fait":"0"}]}
{"message":"error"}
JSON.parse(response.text())
alert(JSON.parse(response.text()).message)