我正在从script.js文件进行API调用。当我向chatbot发送消息时,它在“检查”->“控制台”和“检查->网络”选项卡中给了我两个不同的响应。
“网络”标签
控制台选项卡
script.js
fetch(`${url}/conversations/default/respond`, {
mode: 'no-cors',
method: 'POST',
// dataType:'jsonp',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json',
},
})
.then(function (response) {
console.log("RESPONSE",response);
if (response) {
for (let response of response) {
console.log(response.text);
createResponder(response.text);
}
} else {
createResponder("Sorry, I'm having trouble understanding you, try asking me in an other way")
}
})
.catch(function (err) {
//console.log("DIFF",err);
document.getElementById('typing').style.display = "none";
createResponder("I'm having some technical issues. Try again later :)");
});
答案 0 :(得分:1)
“网络”标签包含请求生命期的所有数据,请求的开始,响应状态,标头,数据等...
在这部分上:
.then(function (response) {
console.log("RESPONSE",response);
if (response) {
for (let response of response) {
console.log(response.text);
createResponder(response.text);
}
} else {
createResponder("Sorry, I'm having trouble understanding you, try asking me in an other way")
}
})
您正在控制台记录xhr对象本身,这就是为什么您的控制台包含“请求”数据而不是您期望的json数据的原因。
继续阅读this,并注意“响应对象”部分