重定向到 AJAX 中的根目录 url
Redirect to root url in AJAX
我正在寻找一种在 AJAX 请求中使用 ('') 而不是 ('search/') 开始 URL 的方法。我可以解决这个问题,只需使用 path('search/email_add/<int:pk>/', views.email_add, name="email_add_from_search")
在 URL 调度程序中添加新路径,但它不是 DRY 方法,RedirectView 不满足我。
当我在 root URL.
中使用 add-phone.js 脚本时它工作正常
在 ('search/') URL
中使用脚本时出错 Not Found: /search/email_add/41/
Ajax 请求
$.ajax({
url: 'email_add/'+person_id+'/',
method: 'POST',
data: {
'email': email,
},
error: function(result){},
success: function(result){},
urls.py
urlpatterns = [
path('', views.contact_list, name="contact_list"), # GET
path('add/', views.contact_add, name="contact_add"), # POST
path('search/', views.contact_search, name="contact_search"), # GET
path('delete/<int:pk>/', views.contact_detail, name="contact_delete"), # DELETE
path('edit/<int:pk>/', views.contact_detail, name="contact_edit"), # POST
path('phone_add/<int:pk>/', views.phone_add, name="phone_add"), # POST
path('email_add/<int:pk>/', views.email_add, name="email_add"), # POST
# path('search/phone_add/<int:pk>/', views.phone_add, name="phone_add_from_search"),
# path('search/email_add/<int:pk>/', views.email_add, name="email_add_from_search"),
]
在您的 javascript 中,此 url: 'email_add/'+person_id+'/'
正在访问亲戚 url。所以如果你在 url http://my-web-site/some/path
它会带你到 http://my-web-site/some/path/email_add/id/
我想你想要 http://my-web-site/email_add/id/
这意味着你需要 url: '/email_add/'+person_id+'/'
我正在寻找一种在 AJAX 请求中使用 ('') 而不是 ('search/') 开始 URL 的方法。我可以解决这个问题,只需使用 path('search/email_add/<int:pk>/', views.email_add, name="email_add_from_search")
在 URL 调度程序中添加新路径,但它不是 DRY 方法,RedirectView 不满足我。
当我在 root URL.
中使用 add-phone.js 脚本时它工作正常在 ('search/') URL
中使用脚本时出错Not Found: /search/email_add/41/
Ajax 请求
$.ajax({
url: 'email_add/'+person_id+'/',
method: 'POST',
data: {
'email': email,
},
error: function(result){},
success: function(result){},
urls.py
urlpatterns = [
path('', views.contact_list, name="contact_list"), # GET
path('add/', views.contact_add, name="contact_add"), # POST
path('search/', views.contact_search, name="contact_search"), # GET
path('delete/<int:pk>/', views.contact_detail, name="contact_delete"), # DELETE
path('edit/<int:pk>/', views.contact_detail, name="contact_edit"), # POST
path('phone_add/<int:pk>/', views.phone_add, name="phone_add"), # POST
path('email_add/<int:pk>/', views.email_add, name="email_add"), # POST
# path('search/phone_add/<int:pk>/', views.phone_add, name="phone_add_from_search"),
# path('search/email_add/<int:pk>/', views.email_add, name="email_add_from_search"),
]
在您的 javascript 中,此 url: 'email_add/'+person_id+'/'
正在访问亲戚 url。所以如果你在 url http://my-web-site/some/path
它会带你到 http://my-web-site/some/path/email_add/id/
我想你想要 http://my-web-site/email_add/id/
这意味着你需要 url: '/email_add/'+person_id+'/'