如何解决在使用提取向服务器发送POST请求时引发的“ JSON输入的意外结束?”]

问题描述 投票:0回答:1
我有一个简单的chatbox UI,已集成到使用.netcore开发的chatbot中。

SyntaxError:JSON输入意外结束 (匿名)@ im.html:201

与机器人进行了几次对话后,我被抛出此错误。下面是我用来捕获短信的输入框。

<form action="javascript:void(0);" class="bg-light" autocomplete="off"> <div class="input-group"> <input type="text" placeholder="Type a message" aria-describedby="button-addon2" class="form-control rounded-0 border-0 py-4" id="message"> <div class="input-group-append"> <button id="button-addon2" type="submit" class="btn btn-link" onclick="userMessage()"> <i class="fa fa-paper-plane"></i></button> </div> </div> </form>

[当用户按下Enter键时,我正在UI中显示键入的消息,并向服务器发送POST请求以获取响应。 

// User message layout function userMessage() { var spinner = document.getElementById('textSpinner'); var h5 = document.getElementById("h5"); var inputBox = document.getElementById("message"); var p = document.createElement("p"); var inputValue = inputBox.value; var text = document.createTextNode(inputValue); p.appendChild(text); if (inputValue === '' || !h5.innerText) { alert("Please sart the session first!"); } else { var div = document.createElement("div"); div.className = "media"; /.../ var chatArea = document.getElementById('chat-area') chatArea.scrollIntoView({ behavior: 'smooth', block: 'end' }) spinner.style.display = "none"; interact(h5.innerText, inputValue); } inputBox.value = ""; }

下面是POST请求

// POST user message function interact(userId, message) { var spinner = document.getElementById('textSpinner'); spinner.style.display = "block"; const payload = { userId: userId, utterance: message }; fetch('Sessions/Interact', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }) .then(response => response.json()) .then(data => botMessage(data.Message)) .then(() => spinner.style.display = "none") .catch(error => console.error(error)); }

[当我从服务器获得响应时,我正在调用另一个名为botMessage()的函数,该函数类似于将显示机器人消息的userMessage()。有人可以指导我为什么引发此错误,是否有解决此问题的解决方案?预先感谢。

这里是来自服务器的响应正文。

{ "Message": "Hello, It's me. Let's start chatting shall we?", "Data": null }

我有一个简单的chatbox UI,已集成到使用.netcore开发的chatbot中。 SyntaxError:JSON输入意外结束(匿名)@ im.html:201 ...
javascript html fetch
1个回答
1
投票
我更改了响应处理,如下所示。我正在做的这种方法正确吗?如果我错了,请纠正我。
© www.soinside.com 2019 - 2024. All rights reserved.