Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON分析错误:无法识别的令牌'';以自然反应_Json_Parsing_React Native - Fatal编程技术网

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

我正在从事React Native项目,我试图将数据从服务器转换为JSON。 我已经在其他项目上做过,所以我知道它是如何工作的,但这次我有一个错误:
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,您很可能会收到错误的响应。请在重试之前检查
响应。状态
rning
response.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)