我正在尝试使用javascript Fetch API将数据发送到我的django后端。我当前的工作URL是127.0.0.1:8000/store
我尝试使用fetch将数据发送到127.0.0.1:8000/recommend_product/
,如下所示www.example.comurls.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')
}
我的问题是获取API将我重定向到'127.0.0.1:8000/store/recommend_product/'
而不是127.0.0.1:8000/recommend_product/
。如何解决这个问题?
3条答案
按热度按时间pb3skfrl1#
我猜这与Django处理请求的方式有关。
你的url只被定义为
var url = '/recommend_product/'
,所以如果/store
是你第一个定义的url路径,它可能会默认为'127.0.0.1:8000/store/recommend_product/'
。编辑:要更正它,请使用更具体的网址
var url = 'http://127.0.0.1:8000/recommend_product/'
mkshixfv2#
也有同样的问题。虽然我不认为这是最好的方法,但试试
http://127.0.0.1:8000/recommend_product
esyap4oy3#
我在我的项目中也遇到过类似的错误。你最好的选择可能是使用javascript,比如
${window.location.host}/your_endpoint/
。这将使它相当动态。