2017-08-24 1 views
1

Ich mache einen Ajax-Aufruf an meinen Server, während Sie auf Senden-Taste drücken. Schaltfläche ist in Seite http://127.0.0.1:5000/post/15 vorhanden.Kolben Endpunkt für Ajax Anruf

Jquery Funktion aufgerufen und die Endpunktdefinition für submit_comment in Python jeweils:

function submit_comment(post_id) { 
    var uname = $('input[name="uname"]').val(); 
    var comment = $('textarea[name="comment"]').val(); 

    $.ajax({ 
     url: "/submit_comment", 
     data: {name: uname, comment: comment, post_id: post_id}, 
     method: "POST", 
     datatype: 'json', 
     success: function(response) { 
      console.log('reaches here');    
      addElement(response); 
      console.log('Is it me'); 
     }, 
     error: function(error) { 
      console.log('reached Error'); 
      console.log(error); 
     } 
    }); 
} 

py

@main.route('/submit_comment', methods = ['POST', 'PUT']) 
def submit_comment(): 
    entry = request.get_json(force=True) 
    print 'comment:', entry 
    .... 

Main ist der Entwurf. Aber ich bekomme folgenden 404 Fehler.

127.0.0.1 - - [24/Aug/2017 10.30.55] "POST/post/submit_comment HTTP/1.1" 404 -

Ich frage mich, woher dieser Beitrag in den Endpunkt angehängt wurde. Kann mir jemand helfen, den Fehler zu verstehen und zu lösen?

Danke, Deepak

+0

Warum haben Sie Anfrage eine PUT tun? – SD3L

Antwort

0

Ich weiß nicht viel, aber ich weiß, dass die Flasche docs auf Ajax sagen für das Skript root wie folgt abfragen:

$SCRIPT_ROOT = {{ request.script_root|tojson }}; 

und verwenden Sie dann, dass als Teil der Anfrage-URL.

Ein Beispiel von einem Ajax-Aufruf die ich verwendet habe ($.getJSON eine jQuery-Funktion für $.ajax sein)

$.getJSON($SCRIPT_ROOT + '{{ url_for("help_email") }}',