JQuery/Django Syntax error -
i know there dumb error i'm missing. pycharm/brackets hasn't been able help, , i've combed dozen times.
the idea when clicks on reservation slot (slot), can either reserve it, clear it, or blocked because has it. error returned "syntaxerror: missing : after property id"
line 41, "console.log()"
. i've been reading , it's syntax error elsewhere, i'm stumped.
#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(';'); (var = 0; < cookies.length; i++) { var cookie = jquery.trim(cookies[i]); // cookie string begin name 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))) { // send token 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 count towards reload console.log(pk, user) // sanity check iii $.ajax({ url: "/reserve/", type: "post", //send info reserve view data: { pk: pk }, datatype: "json", console.log('form submitted') // sanity check iv (i may have 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 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 reserved! maybe refresh browser?") }; }; }); if (count > 4) { var count = 0 $('#main_view').load(document.url + ' #main_view'); //reload if count hits 4 } }); }); //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'); } }); });
if remove line marked below work. in dict of params ajax putting console.log wrong.
$.ajax({ url: "/reserve/", type: "post", //send info reserve view data: { pk: pk }, datatype: "json", console.log('form submitted') <-- remove line success: function (result) { if (result.result == 'clear') { $(this).toggleclass("free reserved"); $.toast({ heading: "reservation clear!", icon: 'success', stack: 4, hideafter: 2000, bgcolor: '#003366', }); };
note: if want debug code can put beforesend
function ajax in debug whatever passing or flow of js code.
Comments
Post a Comment