![](/img/trans.png)
[英]JavaScript AJAX Fetch API and Laravel 5.8 pointing to wrong URL (route)
[英]Django : Fetch API redirects to wrong URL
我正在尝试使用 javascript Fetch API 将数据发送到我的 django 后端。 我目前工作的 url 是127.0.0.1:8000/store
我正在尝试使用 fetch 将数据发送到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/
。 如何解决这个问题?
我猜这与Django 处理 requests的方式有关。
Your url is only defined as var url = '/recommend_product/'
, so it may be going to '127.0.0.1:8000/store/recommend_product/'
by default if /store
is your first defined url path.
编辑:要更正它,请更具体地使用您的 url
var url = 'https://127.0.0.1:8000/recommend_product/'
有同样的问题。 虽然我认为这不是最好的方法,但请尝试http://127.0.0.1:8000/recommend_product
我的项目也有类似的错误。 您最好的选择可能是使用 javascript,如${window.location.host}/your_endpoint/
。 这将使它非常动态。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.