2017-04-25 6 views
0

meine Ajax wie folgt UNEXPECTdjango ajax Post url

from django.conf.urls import url 
from django.contrib import admin 
from django.conf import settings 
from django.conf.urls.static import static 

from blog import views 

urlpatterns = [ 
    url(regex=r'^add/$', view=views.add, name='bbb'), 
    url(regex=r'^newBlog/$', view=views.addblog, name='xxxxx'), 
] 

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

ich außer Ajax-Post-Daten an die Methode addblog, aber ich bekomme POST /add/ HTTP/1.1 statt . Jeder kann mir sagen, wo ich einen Fehler gemacht habe, danke!

+0

Können Sie uns Ihre ganze 'url.py' Datei zeigen? – Algorithmatic

+0

@Algorithmic OK, ich redigiere meine urls.py Datei –

+0

Ich setze einen Haltepunkt in meinen Ansichten. Wenn Ajax Daten post, es immer die Methode hinzufügen hinzufügen, aber nicht addblog –

Antwort

0

Versuchen Sie, event.preventDefault(); in der Submit-Funktion hinzuzufügen, um das Standardverhalten des Formulars zu deaktivieren, das dem Aktionsattribut folgen soll.

$("#submit").submit(function (event) { 
     event.preventDefault(); 
     var title = $("#title").val(); 
     var body = $("#body").val(); 
     var images = $("#browsefile")[0].files[0]; 
     formdata = new FormData(); 
     formdata.append("images", images); 
     formdata.append("body", body); 
     formdata.append("title", title); 

     $.ajax({ 
      type: "POST", 
      data: formdata, 
      url: "{% url 'xxxxx' %}", 
      success: function (result, statues, xml) { 
       alert(result); 
      }, 
      error: function() { 
       alert("false"); 
      } 
     }) 
     return false; 
    }) 

EDIT: pro Kommentar.

+0

OK, ich werde später versuchen, danke –

+0

Ich löste dieses Problem.Ich setze eine Datei in Post-Daten, das ist verboten. Und ich bekomme eine Lösung von http://stackoverflow.com/questions/31866920/django-ajax-upload-image es sagte mir, ich muss eine FormData erstellen, um fileobj zu setzen, und die FormData als die Daten. –