Я работаю над системой чат-ботов. Каждый раз, когда я пишу сообщение и ожидаю ответ, я получаю сообщение об ошибке.
Странная часть заключается в том, что сообщение об ошибке зависит от того, запускаю ли я сайт на локальном порту 80 или 5500. Другое дело, что localhost: 5500 не требует Apache сервера, а порт 80 (localhost) делает ,
Если я запускаю его на локальном хосте (порт 80), я получаю
POST http://localhost/get-response/ 404 (не найдено)
Если я запускаю его на локальном хосте: 5500, я получаю
POST http://localhost: 5500 / get-response / 405 (метод не разрешен)
chatbot. js
fetch("/get-response/", { //<--- error
body: JSON.stringify({'message': message['text']}),
cache: 'no-cache',
credentials: 'same-origin',
headers: {
'user-agent': 'Mozilla/4.0 MDN Example',
'content-type': 'application/json'
},
method: 'POST',
mode: 'cors',
redirect: 'follow',
referrer: 'no-referrer',
})
.then(response => response.json()).then((json) => {
this.messages.push(json['message'])
})
urls.py
urlpatterns = [
url('', Index),
path('get-response/', get_response),
]
views.py
@csrf_exempt
def get_response(request):
response = {'status': None}
if request.method == 'POST':
data = json.loads(request.body.decode('utf-8'))
message = data['message']
chat_response = chatbot.get_response(message).text
response['message'] = {'text': chat_response, 'user': False, 'chat_bot': True}
response['status'] = 'ok'
else:
response['error'] = 'no post data found'
return HttpResponse(
json.dumps(response),
content_type="application/json"
)
def Index (request):
context = {'title': 'Chatbot Version 1.0'}
return render(request, "AI.html", context)
Как узнать, какое сообщение об ошибке следует go за?