Django Ajax Post - 有时工作
Django Ajax Post - works sometimes
我有一个 Django 应用程序,我在其中使用 AJAX 在提交表单时执行 post。我的问题是如何在我的 JavaScript 中将 URL 设置为什么?
JavaScript 片段:
$.ajax({
url: "search/do_post/", // the endpoint
type: "POST", // http method
data : {
relevancy: relevancy,
report_id: report_id,
query: query_text,
//csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
},
urls.py 片段:
path("search/do_post/", do_post_view, name="do_post"),
我的问题是上述方法有时有效,有时无效。如果没有,我得到:
POST http://localhost:1227/search/search/do_post/ 404 (Not Found)
当我看到后,我从 JavaScript 中的 url 中删除了搜索部分。有时有效,有时无效。
有什么建议吗?
您应该以前导斜杠开头来定义 绝对 路径,否则请求将发送到相对于当前路径的路径,因此 /search
而不是search
:
$.ajax({
url: <strong>"/search/do_post/"</strong>,
// …
},
你也可以使用更方便的{% url … %}
template tag [Django-doc]:
$.ajax({
url: <strong>"{% url 'do_post' %}"</strong>,
// …
},
我有一个 Django 应用程序,我在其中使用 AJAX 在提交表单时执行 post。我的问题是如何在我的 JavaScript 中将 URL 设置为什么?
JavaScript 片段:
$.ajax({
url: "search/do_post/", // the endpoint
type: "POST", // http method
data : {
relevancy: relevancy,
report_id: report_id,
query: query_text,
//csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
},
urls.py 片段:
path("search/do_post/", do_post_view, name="do_post"),
我的问题是上述方法有时有效,有时无效。如果没有,我得到:
POST http://localhost:1227/search/search/do_post/ 404 (Not Found)
当我看到后,我从 JavaScript 中的 url 中删除了搜索部分。有时有效,有时无效。
有什么建议吗?
您应该以前导斜杠开头来定义 绝对 路径,否则请求将发送到相对于当前路径的路径,因此 /search
而不是:search
$.ajax({
url: <strong>"/search/do_post/"</strong>,
// …
},
你也可以使用更方便的{% url … %}
template tag [Django-doc]:
$.ajax({
url: <strong>"{% url 'do_post' %}"</strong>,
// …
},