मैं अजाक्स और Django दोनों के लिए एक नौसिखिया हूँ। प्रश्न को सरल बनाने के लिए मान लें कि मेरे पास एक छिपी हुई फॉर्म और दो वस्तुएं हैं, और मैं उपयोगकर्ताओं से वस्तुओं की कुछ स्थिति पर क्लिक करने के लिए कहता हूं। प्रत्येक क्लिक फॉर्म के एक हिस्से को भरता है। मैं चाहता हूं कि फॉर्म प्रत्येक ऑब्जेक्ट के लिए एक बार भर जाए। तो कुल मिलाकर दो बार। जब फॉर्म पहले विषय के लिए भर जाता है, तो मैं पृष्ठ को रीफ्रेश किए बिना, सर्वर पर अजाक्स के माध्यम से फ़ॉर्म भेजना चाहता हूं, और दूसरी ऑब्जेक्ट के लिए फ़ॉर्म को फिर से भरने की अनुमति देता हूं। हालांकि, किसी कारण से मैं फॉर्म को अजाक्स के माध्यम से नहीं भेज सकता। index.html:AJAX और DJANGO फॉर्म
<html>
<body>
<script src="{{ STATIC_URL }}prototype.js"></script>
<script src="{{ STATIC_URL }}jquery.js"></script>
<script>
objectID= 1;
num_obj = {{num_obj}}
function ajax_post(){
$('#inputform').submit(function() {
$.ajax({
type: 'POST',
url: '/index/',
data: $(this).serialize(),
success: function(data){alert(data)}
}); // end new Ajax.Request
});
}
function onDocumentMouseDown(event) {
....do stuff
if (objectID < num_obj){
ajax_post()
}
if (objectID == num_obj){
$("form").submit();}
objectID ++;
$("form").clearForm();
document.forms[0].ObjectID.value = objectID;
}
</script>
<form action="" method="post" id="inputform">
<div id="ajaxwrapper">
{% csrf_token %}
<table>
{{ form.as_table }}
</table>
</div>
</form>
</body>
</html>
मेरी view.py:
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import *
from firstapp.forms import PracForm3
num_obj=2
def index(request):
Obj.objects.all().delete()
if request.method == 'POST':
form = PracForm3(request.POST)
print "\n\n\n\n\n"
if request.is_ajax():
print "yaaaaay AJAX"
print request.POST
else:
print "noooooo"
print "\n\n\n\n\n"
if form.is_valid():
cd = form.cleaned_data
.....
if cd['ObjectID'] == num_obj:
return HttpResponseRedirect('/submit')
else:
form = PracForm3()
dic = {'form': form, 'num_obj': num_obj, ...}
return render_to_response('index.html', dic, context_instance=RequestContext(request))
मेरी urls.py:
यहाँ मेरी कोड है
from django.conf.urls import patterns, include, url
from firstapp.views import index, submit
from django.conf import settings
urlpatterns = patterns('',
('^index$', index),
('^submit$', submit),
)
किसी कारण से
, मेरे अजाक्स किसी को भी काम नहीं करता जानता है कि मैं क्या गलत कर रहा हूं?
क्या आप इस मामले पर अधिक जानकारी प्रदान कर सकते हैं? आप ब्राउज़र के डेवलपर कंसोल (मैं क्रोम की अनुशंसा करता हूं) का उपयोग कर सकता हूं और आपको देखे गए किसी भी त्रुटि या अनुरोध पेस्ट कर सकता हूं। –
मुझे कोई त्रुटि या अनुरोध नहीं दिख रहा है। मुझे यकीन नहीं है कि AJAX सभी – user1871528
पर पोस्ट कर रहा है क्या आप सीएसआरएफ के लिए लेखांकन कर रहे हैं? – esse