prototypejs - AJAX प्रतिक्रिया पाठ कैसे वापस करें?




javascript (3)

इस प्रश्न का उत्तर यहां दिया गया है:

मैं अपने AJAX विकास करने के लिए प्रोटोटाइप का उपयोग करता हूं, और मैं इस तरह के कोड का उपयोग करता हूं:

somefunction: function(){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
            }
        }
    });
    return result;
}

और मुझे लगता है कि "परिणाम" एक खाली स्ट्रिंग है। तो, मैंने यह कोशिश की:

somefunction: function(){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
                return result;
            }
        }
    });

}

लेकिन यह भी काम नहीं किया। मैं उपयोग करने के लिए अन्य विधि के लिए प्रतिक्रिया पाठ कैसे प्राप्त कर सकते हैं?


Answers

आपके कोड में "एसिंक्रोनस: झूठी" जोड़ने के बारे में कैसे? मेरे मामले में, यह अच्छी तरह से काम किया :)


याद रखें कि कुछ समारोह काम करने के बाद पूर्ण को बुलाया जाता है। आपको क्या करना है पैरामीटर के रूप में कुछ कार्य करने के लिए कॉलबैक फ़ंक्शन पास करना है। यह कार्य तब किया जाएगा जब प्रक्रिया काम कर रही है (यानी, पूर्ण पर):

somefunction: function(callback){
    var result = "";
    myAjax = new Ajax.Request(postUrl, {
        method: 'post',
        postBody: postData,
        contentType: 'application/x-www-form-urlencoded',
        onComplete: function(transport){
            if (200 == transport.status) {
                result = transport.responseText;
                callback(result);
            }
        }
    });

}
somefunction(function(result){
  alert(result);
});

यह हर ब्राउज़र के लिए काम करता है:

window.location.href = 'your_url';




ajax prototypejs javascript