#javascript #django #fetch
#javascript #django #извлечение
Вопрос:
Я пытаюсь отправить данные в мой серверный сервер django, используя javascript Fetch API. Мой текущий рабочий URL-адрес 127.0.0.1:8000/store
И я пытаюсь отправить данные с 127.0.0.1:8000/recommend_product/
помощью выборки следующим образом urls.py
path('recommend_product/',product_utils.recommend_product,name = "recommend_product"),
var url = '/recommend_product/'
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': csrftoken,
},
body: JSON.stringify({ 'productId': productId })
})
.then((response) => {
return response.json()
})
.then((data) => {
console.log('data:', data)
location.reload()
})
} else {
alert('Please Login to recommend products')
}
Моя проблема в том, что Fetch API перенаправляет меня на '127.0.0.1:8000/store/recommend_product/'
вместо 127.0.0.1:8000/recommend_product/
.
Как это исправить?
Ответ №1:
Я бы предположил, что это как-то связано с тем, как Django обрабатывает запросы.
Ваш URL определяется только как var url = '/recommend_product/'
, поэтому '127.0.0.1:8000/store/recommend_product/'
по умолчанию он может быть равен if /store
— вашему первому определенному URL-адресу.
Редактировать: чтобы исправить это, будьте более конкретны в своем URL
var url = 'http://127.0.0.1:8000/recommend_product/'
Комментарии:
1. Полностью выпишите URL-адрес var url = ‘127.0.0.1:8000/recommend_product/
2. я пробовал это раньше, и я получаю
NotFound /store/127.0.0.1:8000/recommend_product/
Ответ №2:
Была та же проблема. Хотя я не думаю, что это лучший способ, попробуйте http://127.0.0.1:8000/recommend_product