return request method = GET but i send request = POST (ajax)
return request method = GET but i send request = POST (ajax)
我正在尝试使用ajax和Django删除对象。我发送请求方法"POST"赌注返回"GET"并引发错误
function delete_bank_question(pk){
if (confirm('are you sure you want to remove this question?')==true){
url = "/question/delete/"
console.log("Deleted clicked");
$.ajax({
url : url,
type : "POST",
method : "post",
data : {'pk': pk},
success : function(json) {
$('#list_question_pk_'+pk).hide();
console.log("element deletion successful");
$("#deleteModal").toggle();
},
error : function(xhr,errmsg,err) {
console.log(xhr.status + ": " + xhr.responseText);
console.log("error when removing element");
}});
}
else {
return false;
}
};
还有视图
class QuestionDeleteView(DeleteView):
model = Question
template_name = 'questionbank.html'
def get_object(self, queryset=None):
pk = self.request.POST.get("pk")
element = Question.objects.get(pk=pk)
return element
def get_success_url(self):
return reverse('questions:questionbank')
唯一的区别是用ajax(请求GET)通过js绘制HTML
function item_builder(data,pk){
var item = ['<li class="questions-item text-center" id="list_question_pk_' +pk+ '">'];
item.push('<div class="col-md-4 "><a href="#" class="question-name pull-right">');
item.push(data.description);
item.push('</a></div>');
item.push('<div class="col-md-4">');
item.push('<p class="question-type '+css_mapper[data.question_type]+'">');
item.push(type_mapper[data.question_type]);
item.push('</p>');
item.push('</div>');
item.push('<div class="col-md-4">');
item.push('<p class="pull-left">');
item.push('<i class="fa fa-ellipsis-h"></i>');
item.push('<div class="pull-left question-setting" >');
item.push('<a href="#" id="edit-icon" class="wow fadeInDown"');
item.push('data-wow-duration="0.5s">');
item.push('<i class="fa fa-pencil fa-1x"></i>');
item.push('</a>')
item.push('<a href="#" data-toggle="modal" data-pk="'+pk+'" id="delete-icon" ');
item.push('data-target="#deleteModal" class="wow fadeInDown delete-icon"');
item.push('data-wow-duration="0.3s">');
item.push('<i class="fa fa-trash-o fa-1x"></i>');
item.push('</a>')
item.push('</div>');
item.push('</p>');
item.push('</div>');
item.push('</li>');
return item.join(' ');
}
并且有来自检查元件的结果
PK: 1
list_questions.js:105 Deleted clicked
jquery-1.11.2.min.js:4 GET http://127.0.0.1:8000/en/question/delete/
500 (INTERNAL SERVER ERROR)m.ajaxTransport.a.send @ jquery-
1.11.2.min.js:4m.extend.ajax @ jquery-
1.11.2.min.js:4delete_bank_question @ list_questions.js:106(anonymous
function) @ list_questions.js:40m.event.dispatch @ jquery-
1.11.2.min.js:3m.event.add.r.handle @ jquery-1.11.2.min.js:3
list_questions.js:118 500: DoesNotExist at /en/question/delete/
Question matching query does not exist.
Request Method: GET
Request URL: http://127.0.0.1:8000/en/question/delete/
有人能帮我吗?
您的检查元素结果显示您正在通过GET方法发送请求:
...
jquery-1.11.2.min.js:4 GET http://127.0.0.1:8000/en/question/delete/
...
请先检查您的JS代码。
相关文章:
- node js post request.body undefined
- curl post request jquery equivalent
- 如何在 jquery post request 中发送api_key和api_secret参数
- Angular 2:HTTP Post Request,带有URL参数和正文类型参数
- 如何使用包含选项的request.js发出POST请求
- Ajax request Post Params
- 无法读取属性'用户名'对于Angular Post Request,共个未定义
- jQuery POST Ajax request
- jQuery - 在 post request 中传递数组
- 如何在 NodeJS 中传递响应参数,包括来自 POST http.request 的正文
- 在 AJAX post request 中使用自定义 HttpServletRequest 过滤器
- 没有来自 OpenLayers.Request.Post 的 XMLDocument
- HTTP post request - AngularJS 和 JQuery 之间的区别
- React Native Post Request via Fetch throws Network Request F
- 用请求承诺替换节点request.post
- Dojo.request.post-返回的promise说"拒绝”;,但服务器似乎已经接受了请求
- return request method = GET but i send request = POST (ajax)
- AngularJS Http Post Error: Unexpected request: POST
- Promise跳出中的request.post方法
- 如何对多个键使用request.POST.get()