Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery/Django语法错误_Jquery_Django - Fatal编程技术网

JQuery/Django语法错误

JQuery/Django语法错误,jquery,django,Jquery,Django,我知道我遗漏了一些愚蠢的错误。Pycharm/Brands帮不上忙,我已经梳理了十几次了 这个想法是,当有人点击一个预订槽(槽),他们可以保留它,清除它,或被阻止,因为有人已经有了它。对于第41行,返回的错误是“SyntaxError:missing:after property id”,即“console.log()”。我一直在阅读,可能是其他地方的语法错误,但我被难住了 #views.py @ensure_csrf_cookie def reserve(request): if re

我知道我遗漏了一些愚蠢的错误。Pycharm/Brands帮不上忙,我已经梳理了十几次了

这个想法是,当有人点击一个预订槽(槽),他们可以保留它,清除它,或被阻止,因为有人已经有了它。对于第41行,返回的错误是
“SyntaxError:missing:after property id”
,即
“console.log()”
。我一直在阅读,可能是其他地方的语法错误,但我被难住了

#views.py
@ensure_csrf_cookie
def reserve(request):
    if request.is_ajax():
        pk = request.POST['pk']
        slot = Event.objects.get(pk=pk)
        user = request.user
        if slot.is_reserved == True:
            if user == slot.teacher:
                slot.is_reserved = False
                slot.teacher = None
                slot.save()
                result = "clear"
            else:
                result = "blocked"
        else:
            slot.is_reserved = True
            slot.teacher = user
            slot.save()
            result = "reserved"
    result = {'result': result}
    return HttpResponse(json.dumps(result, cls=DjangoJSONEncoder))

//main.js
function getCookie(name) {
    var cookieValue = null;
    if (document.cookie && document.cookie != '') {
        var cookies = document.cookie.split(';');
        for (var i = 0; i < cookies.length; i++) {
            var cookie = jQuery.trim(cookies[i]);
            // Does this cookie string begin with the name we want?
            if (cookie.substring(0, name.length + 1) == (name + '=')) {
                cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                break;
            }
        }
    }
    return cookieValue;
}
$.ajaxSetup({
    beforeSend: function (xhr, settings) {
        if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
            // Only send the token to relative URLs i.e. locally.
            xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'));
        }
    }
});
$(document).ready(function () {
    console.log('ready!'); //Sanity check
    var count = 0; //Set Count
    $('button').click(function () {
        console.log('we clicked!'); // Sanity Check II
        event.preventDefault();
        var pk = this.id
        var user = $('button').attr("user")
        count++ //Increase the count towards reload
        console.log(pk, user) // Sanity Check III
        $.ajax({
            url: "/reserve/",
            type: "POST", //Send the info to reserve view
            data: {
                pk: pk
            },
            dataType: "json",
            console.log('form submitted') // Sanity check IV (I may have a problem)
            success: function (result) {
                if (result.result == 'clear') {
                    $(this).toggleClass("free reserved");
                    $.toast({
                        heading: "Reservation Clear!",
                        icon: 'success',
                        stack: 4,
                        hideAfter: 2000,
                        bgColor: '#003366',
                    });
                };
                if (result.result == 'reserved') {
                    $("div.tchr").html(user); //Send user info to button, reverts on refresh
                    $(this).toggleClass("free reserved");
                    $.toast({
                        heading: "Reservation Complete!",
                        icon: 'success',
                        stack: 4,
                        hideAfter: 2000,
                    });
                };
                if (result.result == 'blocked') {
                    alert("This slot is already reserved! Maybe refresh your browser?")
                };
            };
        });
        if (count > 4) {
            var count = 0
            $('#main_view').load(document.URL + ' #main_view'); //Reload if the count hits four
        }
    });
});
//End button function

$(document).ready(function () {
    console.log('ready!'); //Sanity check
    $('#toggle').click(function () {
        var $this = $(this);
        console.log('we clicked!');
        $('#main_view').toggle('500');
        $('#my_view').toggle('500');
        $this.toggleClass('one');
        if ($this.hasClass('one')) {
            $this.text('My Reservations');
        } else {
            $this.text('Today');
        }
    });

});
#views.py
@确保_csrf_cookie
def储备(请求):
if request.is_ajax():
pk=请求.发布['pk']
slot=Event.objects.get(pk=pk)
user=request.user
如果slot.is_reserved==True:
如果user==slot.teacher:
slot.is_reserved=False
slot.teacher=无
slot.save()
结果=“清除”
其他:
结果=“已阻止”
其他:
slot.is_reserved=真
slot.teacher=用户
slot.save()
结果=“保留”
结果={'result':结果}
返回HttpResponse(json.dumps(result,cls=DjangoJSONEncoder))
//main.js
函数getCookie(名称){
var-cookieValue=null;
if(document.cookie&&document.cookie!=''){
var cookies=document.cookie.split(“;”);
对于(变量i=0;i4){
变量计数=0
$('#main_view').load(document.URL+'#main_view');//如果计数达到4,则重新加载
}
});
});
//结束按钮功能
$(文档).ready(函数(){
console.log('ready!');//健全性检查
$(“#切换”)。单击(函数(){
var$this=$(this);
log('weclicked!');
$(“#主视图”)。切换('500');
$(“#我的视图”)。切换('500');
$this.toggleClass('one');
if($this.hasClass('one')){
$this.text(“我的预订”);
}否则{
$this.text(“今天”);
}
});
});

如果删除下面标记的行,它肯定会工作。 在ajax的参数目录中,您放置了一个完全错误的console.log

$.ajax({
            url: "/reserve/",
            type: "POST", //Send the info to reserve view
            data: {
                pk: pk
            },
            dataType: "json",
            console.log('form submitted') <-- remove this line
            success: function (result) {
                if (result.result == 'clear') {
                    $(this).toggleClass("free reserved");
                    $.toast({
                        heading: "Reservation Clear!",
                        icon: 'success',
                        stack: 4,
                        hideAfter: 2000,
                        bgColor: '#003366',
                    });
                };
$.ajax({
url:“/reserve/”,
键入:“POST”//将信息发送到保留视图
数据:{
主键:主键
},
数据类型:“json”,

console.log('formsubmitted')您有几个console.log