Javascript 投票功能“;没有与给定查询匹配的Eintrag“;
我想实现投票功能。投票函数无法获取对象。vote.js应该没问题。有什么想法吗?似乎POST请求未发送。谢谢。 这就是错误:Javascript 投票功能“;没有与给定查询匹配的Eintrag“;,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我想实现投票功能。投票函数无法获取对象。vote.js应该没问题。有什么想法吗?似乎POST请求未发送。谢谢。 这就是错误: Page not found (404) Request Method: GET Request URL: http://.../vote/ Raised by: book.views.vote No Eintrag matches the given query. result.html中的代码段: <a href="/vote/" id="eintra
Page not found (404)
Request Method: GET
Request URL: http://.../vote/
Raised by: book.views.vote
No Eintrag matches the given query.
result.html中的代码段:
<a href="/vote/" id="eintrag-vote-{{ eintrag.id }}" class="vote">▲</a>
<p id="eintrag-title-{{ eintrag.id }}">{{ eintrag.title }}</p>
views.py:
@login_required
def vote(request):
eintrag = get_object_or_404(Eintrag, id=request.POST.get('eintrag'))
eintrag.points += 1
eintrag.save()
return HttpResponse()
URL.py:
url(r'^vote/$', views.vote, name='vote'),
和vote.js:
$(文档).ready(函数(){
//使用jQuery
函数getCookie(名称){
var-cookieValue=null;
if(document.cookie&&document.cookie!=''){
var cookies=document.cookie.split(“;”);
对于(变量i=0;i
似乎您的请求方法不匹配。当你应该做一个帖子的时候,你正在做一个GET
此行引发404,因为没有请求。POST
:
eintrag = get_object_or_404(Eintrag, id=request.POST.get('eintrag'))
我邀请您使用django.views.decorators.http.require\u POST
来装饰这个视图,这样您就得到了一个HTTP405方法不允许的错误
,它比404更好地反映了方法问题
我认为它来自于您的Ajax请求是如何在JS中完成的(请参阅)
你能试着改变一下吗
function vote(eintragID) {
$.ajax({
...
看起来您的请求方法不匹配。当你应该做一个帖子的时候,你正在做一个GET 此行引发404,因为没有
请求。POST
:
eintrag = get_object_or_404(Eintrag, id=request.POST.get('eintrag'))
我邀请您使用django.views.decorators.http.require\u POST
来装饰这个视图,这样您就得到了一个HTTP405方法不允许的错误
,它比404更好地反映了方法问题
我认为它来自于您的Ajax请求是如何在JS中完成的(请参阅)
你能试着改变一下吗
function vote(eintragID) {
$.ajax({
...
同样的错误:油灰上写着:找不到:/vote/[12/Jun/2016 18:17:15]“GET/vote/HTTP/1.1”404 1722好吧,如果你做一个GET请求,你总是会遇到问题,你必须以某种方式将其更改为POST请求。更改JS文件后,不要忘记收集static。
code
function.vote(eintragID){$.ajax({method:“POST”,url:/vote/”,数据:{“eintrag”:eintragID},success:function(){$(“#eintrag vote-”+eintragID)。hide();$(“#eintrag title-”+eintragID)。css({“左边距”:“15px”};},标题:{'X-CSRFToken':CSRFToken});返回false;}code
我应该在哪里更改它?这应该是一个POST请求,但是服务器一直说Get确保你在浏览器上的缓存无效,并且你使用的是最新版本的JS文件。检查网络选项卡以查看实际发送到服务器的请求。另外,我邀请你用d来装饰你的视图jango.views.decorators.http.require_POST
,因此您会得到一个http错误代码,该代码最能反映您的问题。相同的错误:油灰上写着:找不到:/vote/[12/Jun/2016 18:17:15]“get/vote/http/1.1“404 1722如果您执行GET请求,您总是会遇到问题,您必须以某种方式将其更改为POST请求。更改JS文件后,不要忘记收集static。code
function.vote(eintragID){$.ajax({method:“POST”,url:/vote/”,数据:{“eintrag”:eintragID},success:function(){$(“#eintrag vote-”+eintragID)。hide();$(“#eintrag title-”+eintragID)。css({“左边距”:“15px”};},标题:{'X-CSRFToken':CSRFToken});返回false;}code
我应该在哪里更改它?这应该是一个POST请求,但是服务器一直说Get确保你在浏览器上的缓存无效,并且你使用的是最新版本的JS文件。检查网络选项卡以查看实际发送到服务器的请求。另外,我邀请你用d来装饰你的视图jango.views.decorators.http.require\u POST
,这样您就会得到一个http错误代码,它最能反映您遇到的问题。