0
Wenn ein Benutzer ein Formular einreicht, sollte der Benutzer auf eine andere Seite umgeleitet werden. Ich habe window.location.href für die Umleitung verwendet, aber es funktioniert nicht. Es leitet weiter, aber das Hochladen des Bildes wird nicht funktionieren.Umleitung stört Bildupload
Hier ist mein Code:
AddRent.js
$.ajax({
url:"/add/space/",
data:sendData,
type:'POST',
success: function(data, textStatus, xhr) {
var pk = xhr.getResponseHeader('pk-user');
console.log('pk is',pk);
$.ajax({
url:"/upload/image/"+pk+"/",
data:image,
contentType:false,
processData:false,
type:'POST',
mimeType: "multipart/form-data",
success: function(data) {
console.log('success');
}
});
window.location.href="http://commonrentpspace.me/"; // if i use this to redirect, the images does not get upload
}
});
}
}
Views.py (Bild hochladen Code mehr zur Verkürzung Codezeile fokussiert ist):
class AddView(TemplateView):
template_name = 'rentals/add.html'
class AddSpaceView(View):
def post(self,request,*args,**kwargs):
print ('add space view',request)
if request.POST:
response = HttpResponse('')
print('owner name is',request.POST.get('ownerName'))
print('amenities',request.POST.get('amenities'))
rental = Rental()
rental.ownerName = request.POST.get('ownerName')
rental.email = request.POST.get('email')
rental.phoneNumber = request.POST.get('phoneNumber')
rental.listingName = request.POST.get('listingName')
rental.summary = request.POST.get('summary')
rental.property = request.POST.get('property')
rental.room = request.POST.get('room')
rental.price = request.POST.get('price')
rental.city = request.POST.get('city')
rental.place = request.POST.get('place')
rental.water = request.POST.get('water')
rental.amenities = request.POST.get('amenities')
rental.save()
response['pk-user'] = rental.pk
return response
return HttpResponse('Rental Information successfully added')
class UploadImage(View):
model = Rental
template_name = 'rentals/add.html'
print "Hello"
def get(self, request, *args, **kwargs):
return render(request, self.template_name)
def post(self,request,*args,**kwargs):
try:
rental = Rental.objects.get(pk = self.kwargs['pk'])
except Rental.DoesNotExist:
error_dict = {'message': 'Rental spae not found'}
print "Error Rental do not exist"
return self.render(request,'rentals/add.html',error_dict)
if request.FILES:
for file in request.FILES.getlist('image'):
print('file',file)
image = Gallery.objects.create(rental = rental, image=file)
print('image',image)
print "Uploading Image"
return HttpResponse("Uploaded successfully")
Muss ich weitere Informationen zur Verfügung stellen? Was könnte der Grund sein?
Sie rufen Ajax innerhalb Erfolgsfunktion eines anderen. Es ist keine gute Methode zu folgen. Move '' 'window.location.href =" http://commonrentpspace.me/ ";' '' zum inneren Ajax. Das wird dein Problem lösen. – iraycd
Sie meinen, innerhalb Erfolgsfunktion (innere Ajax) zu sagen? – pri
Ja, ich meine unten, '' 'console.log ('Erfolg');' '' – iraycd