मैंने एक सामान्य अजाक्स फ़ंक्शन लिखा था। कई बार लिखने के बजाय। तो मैं सिर्फ अपने सामान्य कार्य में पोस्ट डेटा और यूआरएल भेज रहा हूं। यहां तक ​​सब ठीक है और मुझे रिस्पॉन्स भी मिल रहा है। लेकिन मुझे वह प्रतिक्रिया पढ़ने में परेशानी हो रही है।

function _ajax_post(someData,URL)
            {
                var ajaxCall = $.ajax({
                    type: 'POST',                    
                    data: someData,
                    dataType: 'json',
                    url: URL
                });

                ajaxCall.done(function(data) {
                    console.log("A good programmer looks both ways before crossing a one-way street :) ");
                });

                ajaxCall.fail(function(data) {
                    console.log(" Design is choosing how you will fail.");
                });

                ajaxCall.always(function() {
                    console.log("Truth can only be found in one place: the code.");
                });

                return ajaxCall;
            }

यहाँ मैं पसंद कर रहा हूँ

$('#btnOutput').on('click', function () {
                   var str = $("#out").text();
                   var r = _ajax_post({"data":str},url+"roles/vu_menus/tets");
                   console.log(r);                          
                });

मेरे कंसोल.लॉग () में मुझे एक प्रतिक्रिया मिल रही है जैसे

{readyState: 1, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
abort: ƒ (a)
always: ƒ ()
complete: ƒ ()
done: ƒ ()
error: ƒ ()
fail: ƒ ()
getAllResponseHeaders: ƒ ()
getResponseHeader: ƒ (a)
overrideMimeType: ƒ (a)
pipe: ƒ ()
progress: ƒ ()
promise: ƒ (a)
readyState: 4
responseJSON: {data: "[{"text":"Home","href":"http://home.com","icon":"f…"fas fa-filter","target":"_self","title":""}]}]}]"}
responseText: "{"data":"[{\"text\":\"Home\",\"href\":\"http:\/\/home.com\",\"icon\":\"fas fa-home\",\"target\":\"_top\",\"title\":\"My Home\"},{\"text\":\"Opcion2\",\"href\":\"\",\"icon\":\"fas fa-chart-bar\",\"target\":\"_self\",\"title\":\"\"},{\"text\":\"Opcion3\",\"href\":\"\",\"icon\":\"fas fa-bell\",\"target\":\"_self\",\"title\":\"\"},{\"text\":\"Opcion4\",\"href\":\"\",\"icon\":\"fas fa-crop\",\"target\":\"_self\",\"title\":\"\"},{\"text\":\"Opcion5\",\"href\":\"\",\"icon\":\"fas fa-flask\",\"target\":\"_self\",\"title\":\"\"},{\"text\":\"Opcion6\",\"href\":\"\",\"icon\":\"fas fa-map-marker\",\"target\":\"_self\",\"title\":\"\"},{\"text\":\"Opcion7\",\"href\":\"\",\"icon\":\"fas fa-search\",\"target\":\"_self\",\"title\":\"\",\"children\":[{\"text\":\"Opcion7-1\",\"href\":\"\",\"icon\":\"fas fa-plug\",\"target\":\"_self\",\"title\":\"\",\"children\":[{\"text\":\"Opcion7-1-1\",\"href\":\"\",\"icon\":\"fas fa-filter\",\"target\":\"_self\",\"title\":\"\"}]}]}]"}"
setRequestHeader: ƒ (a,b)
state: ƒ ()
status: 200
statusCode: ƒ (a)
statusText: "OK"
success: ƒ ()
then: ƒ ()
__proto__: Object

अब, मैं responseText मान कैसे प्राप्त कर सकता हूं?

0
Siddhartha esunuri 20 फरवरी 2019, 14:07

1 उत्तर

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

चूंकि आपका अजाक्स रैपर अजाक्स वादा लौटाता है, आप इसे अपने क्लिक इवेंट हैंडलर में ठीक उसी तरह उपयोग कर सकते हैं जैसे आप रैपर में करते हैं:

function _ajax_post(someData,URL)
{
    var ajaxCall = $.ajax({
                type: 'POST',                    
                data: someData,
                dataType: 'json',
                url: URL
    });


    ajaxCall.done(function(data) {
        console.log("global done");
    });

    return ajaxCall;
}

$('#btnOutput').on('click', function () {
   var str = $("#out").text();
   var r = _ajax_post({"data":str}, url+"roles/vu_menus/tets");

   // at this point, r is the ajax promise, so can use .done / .fail etc

   r.done(function(data) { 
     console.log(data); 
   });

});
1
freedomn-m 20 फरवरी 2019, 11:37