diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-02-15 01:14:17 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-02-15 01:14:17 +0100 | 
| commit | 7cf8cfd3817ecf664a7c098b6fed2ac88d9b1785 (patch) | |
| tree | 33f5cae9d1e08307cc58667173301861f980baf9 /static/js | |
| parent | fcae560dbada029bdcadd2147976dbf017ea7ba3 (diff) | |
| download | Ishtar-7cf8cfd3817ecf664a7c098b6fed2ac88d9b1785.tar.bz2 Ishtar-7cf8cfd3817ecf664a7c098b6fed2ac88d9b1785.zip | |
Manage CRSF token in Ajax request (closes #217)
Diffstat (limited to 'static/js')
| -rw-r--r-- | static/js/ishtar.js | 26 | 
1 files changed, 26 insertions, 0 deletions
| diff --git a/static/js/ishtar.js b/static/js/ishtar.js index c1aa2f569..174e56f0b 100644 --- a/static/js/ishtar.js +++ b/static/js/ishtar.js @@ -1,3 +1,29 @@ + +/* CSRFToken management */ +$.ajaxSetup({ +beforeSend: function(xhr, settings) { +    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; +    } +    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(){      $("#main_menu ul ul").hide();      $("#main_menu ul ul .selected").parent().show(); | 
