मैं django को जीईटी अनुरोध बनाने के लिए AJAX का उपयोग कर रहा हूं, और मैं पुराने प्रारूप यूआरएल को नए प्रारूप पथ में कनवर्ट करना चाहता हूं।

यह लाइन काम करती है

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

जबकि यह लाइन 404(http://127.0.0.1:8000/project/setComplete के साथ विफल हो जाती है ?item_id=1) नहीं मिला

path('setComplete/<int:item_id>',views.setComplete, name='setcomplete'),

यहाँ अजाक्स कोड है

    $.ajax(
    {
        type:"GET",
        url: "/project/setComplete",
        data:{
                 item_id: itemid
        },
        success : function(data) {
                        console.info("Success",data);
                    },
                    error : function(e) {
                        console.info("Error",e);
                    },
                    done : function(e) {
                        console.info("DONE",e);
                    }
     })

यहाँ सिर्फ परीक्षण के लिए एक सरल दृश्य है

def setComplete(request):
    return HttpResponse("Success!")  # Sending an success response
0
Gavin 29 मार्च 2020, 09:01
आप अपने विचार में पैरामीटर के रूप में itemid नहीं दे रहे हैं। यह def setComplete(request,itemid) होना चाहिए
 – 
manask322
29 मार्च 2020, 09:44
आपके द्वारा टाइप किए गए दो यूआरएल समान नहीं हैं।
 – 
Kanishk Tanwar
29 मार्च 2020, 09:44
मेरे पास पहले संस्करण पर एक टाइपो था, लेकिन मैंने इसे ठीक कर दिया और फिर भी वही परिणाम। या यदि आप $ और को संदर्भित कर रहे हैं तो मुझे यकीन नहीं है कि उनका मिलान कैसे किया जाए।
 – 
Gavin
29 मार्च 2020, 10:00
आप सही हैं, लेकिन किसी भी तरह से मुझे यह त्रुटि मिलती है jquery.min.js:4 GET 127.0.0.1:8000/project/setComplete?item_id=1&result=true 404 (नहीं मिला)
 – 
Gavin
29 मार्च 2020, 10:00
1
ओह ठीक है, आप इसे डेटा के रूप में पास कर रहे हैं, इसलिए किसी भी पैरामीटर को देखने और यूआरएल में भी देने की आवश्यकता नहीं है। आप दृश्य में request.GET['itemid'] का उपयोग करके डेटा तक पहुंच सकते हैं। यूआरएल path('setComplete',views.setComplete, name='setcomplete'), होना चाहिए
 – 
manask322
29 मार्च 2020, 10:30

1 उत्तर

सबसे बढ़िया उत्तर

मदद और टिप्पणियों के लिए धन्यवाद।

यहाँ किसी और के लिए उत्तर अटक गया है।

विकल्प 1

एक ही रास्ते का प्रयोग

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

हो जाता है

path('setComplete/<int:item_id>',views.setComplete, name='setcomplete'),

तथा

    $.ajax(
    {
        type:"GET",

        url: "/project/setComplete/" + itemid,

विकल्प 2 या उसी संरचना को इस तरह रखते हुए:

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

हो जाता है

path('setComplete/',views.setComplete, name='setcomplete'), तथा

    $.ajax(
    {
        type:"GET",

        url: "/project/setComplete/",
        data:{
                 item_id: itemid,
        },

विषय पर यहां एक उपयोगी संसाधन भी है। Django 2.0 चीटशीट

0
Gavin 29 मार्च 2020, 10:34