2017-11-15 4 views
1

Ich erhalte die folgende Fehlermeldung beim Versuch, eine JS-Funktion und Ajax Click Call auf eine Schaltfläche zu drücken.NoReverseMatch at/account/profile

NoReverseMatch unter/account/profile/ Reverse für '' nicht gefunden. '' ist keine gültige Ansichtsfunktion oder Mustername.

Ich weiß, es ist, weil die URL, aber ich bin mir nicht sicher, was ist falsch mit meiner URL.

Ich bekomme auch die kommentierte Fehlermeldung über ein fehlendes Semikolon in meinem Code, wenn Sie ein Linting-Tool verwenden, aber das Hinzufügen eines Kommas scheint den Code zu brechen. Wenn ich meine URL auf "/ requestaccess /" ändere, sehe ich den Beitrag in der Konsole, aber diese Ansicht ist nicht gültig.

in den JS meine var ist definiert als

    var url = '{% url requestaccess %}'; 

in der Ajax bin ich versucht, die URL zu rufen mit:

    $.ajax({ 
         url: url, 
         data: JSON.stringify({ report_id: SelectedItems }), 
         dataType: 'json', 
         type: 'post', 
         success: function (data) { 

Die URL.py Setup ist wie:

url(r'^requestaccess/$', views.requestaccess, name='requestaccess') 

Mein gesamter Codeblock ist:

    <script> 
$(document).ready(function() { 
         var SelectedItems = []; 
         $('.checkbox').click(function() { 
          var SelectedItems = $(this).val(); 
          var index = SelectedItems.indexOf(SelectedItems); 
          var url = '{% url requestaccess %}'; 
          if (index == -1) 
          { 
          SelectedItems.push(SelectedItems); 
          }  else { 
          SelectedItems.splice(index, 1); 
          } 
         }); 

         $('#submit-button').click(function (event) { 
          event.preventDefault(); 
          $.ajax({ 
           url: url, 
           data: JSON.stringify({ report_id: SelectedItems }), 
           dataType: 'json', 
           type: 'post', 
           success: function (data) { 
           } //missing comma before closing curly brace 
          }); 
         }); 
        }); 
        </script> 

Antwort

0

wenn die URL-Tag legte zwei Anführungszeichen um den URL-Namen wie diese

var url = "{% url 'requestaccess' %}"; 

Fertig!

+0

Dies führt zu einem unerwarteten Token, erwarteten Fehler und der Code wird nicht ausgeführt. – student101

+1

siehe aktualisierte Antwort, kopieren Sie den Code und fügen Sie –

+0

Das funktionierte, meine Profilseite lädt, aber jetzt meine POST-Anfrage geht nie aus. Ich denke, es hat etwas mit dem fehlenden Komma vor dem Schließen der geschweiften Klammer zu tun, aber das Hinzufügen von einem bricht den Code. – student101