我正在尝试从Django中的表单发送DELETE请求,从jQuery获取帮助,请参阅下面的链接;
https://baxeico.wordpress.com/2014/06/25/put-and-delete-http-requests-with-django-and-jquery/
我所拥有的是以下脚本;
<script src="jquery-1.11.3.js"></script>
<script>
$(document).ready(function(){
$.ajax({
id : 'delete',
headers : {'X_METHODOVERRIDE': 'DELETE'}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
(我打算)以下列形式行事;
<form method="post" id="delete" name="delete" action="">
{% csrf_token %}
<input type="submit" value="Delete" />
</form>
Run Code Online (Sandbox Code Playgroud)
以及中间件;
from django.http import QueryDict
class HttpPostTunnelingMiddleware(object):
def process_request(self, request):
if request.META.has_key('HTTP_X_METHODOVERRIDE'):
http_method = request.META['HTTP_X_METHODOVERRIDE']
if http_method.lower() == 'put':
request.method = 'PUT'
request.META['REQUEST_METHOD'] = 'PUT'
request.PUT = QueryDict(request.body)
if http_method.lower() == 'delete':
request.method = 'DELETE'
request.META['REQUEST_METHOD'] = 'DELETE'
request.DELETE = QueryDict(request.body)
return None
Run Code Online (Sandbox Code Playgroud)
我把它添加到我的settings.py中的MIDDLEWARE_CLASSES列表中;
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware', …Run Code Online (Sandbox Code Playgroud)