我正在尝试获取一个 JSON 文件,但它返回错误Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 and 304: Not Modified。我尝试添加标题'Content-Type': 'application/json,'Accept': 'application/json'但随后返回错误404:未找到。
这是我获取 JSON 的代码:
import React from 'react';
export default class LabExperiment extends React.Component {
componentWillMount() {
const readmePath = require("./docs/iat/iatDependency.json");
fetch("./docs/iat/iatDependency.json")
.then(response => {
response.json();
})
.then(text => {
console.log(text);
});
}
render() {
return(
<div>Hello</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的 json 文件:
{
"js": [
"../jsPsych/jspsych.js",
"../jsPsych/plugins/jspsych-iat-image.js",
"../jsPsych/plugins/jspsych-iat-html.js",
"../jsPsych/plugins/jspsych-html-keyboard-response.js"
],
"css": [ …Run Code Online (Sandbox Code Playgroud) 我在让我的 fetch POST 调用在 iOS 上工作时遇到了巨大的麻烦。我的标准 Fetch 调用工作正常,而 Fetch POST 调用在 android 上工作正常,但在 iOS 上不工作。
出现的错误是“Possible Unhandled Promise Rejection (id: 0): Unexpected token < in JSON at position 0”
它实际上将发布数据保存到我的服务器,但会引发该错误。
我尝试GLOBAL.XMLHttpRequest = GLOBAL.originalXMLHttpRequest || GLOBAL.XMLHttpRequest;在 API 调用之前调试网络请求,并在我的 chrome 调试工具中使用 CORS。从那里我可以看到它正在一个接一个地拨打两个电话。第一个类型为“OPTIONS”,而第二个类型为“POST”。可能应该注意的是,在使用 CORS 和上面的代码行时,该调用在应用程序中有效。
我很困惑,已经用尽了所有途径。
我用于参考的代码如下。
return fetch(url,{
method: 'post',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
}).then((res) => res.json());
Run Code Online (Sandbox Code Playgroud) 错误:
core.es5.js?0445:1084 ERROR SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>
Run Code Online (Sandbox Code Playgroud)
情况:
我想要实现的是预先选择用户之前已经做出的选择并防止他投票两次。
代码:
组件.html
<article class="panel panel-default">
<div class="panel-body">
{{ poll.title }}
<br>
<br>
<form #form="ngForm">
<fieldset [disabled]="alreadyVotedFor(-1)">
{{ poll.counter1 }} votes <input type="radio" id="{{ poll.choice1 }}" name="my_radio" value="{{ poll.choice1 }}" (click)="onChoice1(form)" [checked]="alreadyVotedFor(1)"> {{ poll.choice1 }}
<br>
{{ poll.counter2 }} votes <input type="radio" id="{{ poll.choice2 }}" name="my_radio" value="{{ poll.choice2 }}" (click)="onChoice2(form)" [checked]="alreadyVotedFor(2)"> {{ poll.choice2 }}
</fieldset>
</form>
</div>
<footer class="panel-footer">
<div class="author">
{{ poll.username }} …Run Code Online (Sandbox Code Playgroud) javascript ×2
angular ×1
fetch ×1
json ×1
mongodb ×1
node.js ×1
post ×1
react-native ×1
reactjs ×1
typescript ×1