2013-10-16 12 views
8

मुझे कोई समस्या है। मैं .थ फ़ंक्शन insted .sucssess और .error के साथ एक $ http कॉल करने की कोशिश कर रहा हूं। लेकिन हालांकि मैं एक गैर मौजूदा अनुरोध के यूआरएल को बदलने, यह हमेशा उत्तराधिकारी हैंडलर को क्रियान्वित किया जाता है:

$http.get('data/myjson.json').then(onSuccess, onError); 

onSuccess(data){}; 
onError(data){}; 

इसके अलावा, डेटा पैरामीटर, 404 की स्थिति है विफलता का संकेत है, लेकिन onError नहीं मिला निष्पादित।

कुछ शरीर यह समझा सकता है कि यह वास्तव में कैसे काम करता है?

धन्यवाद!

+0

कोणीय किस संस्करण का उपयोग कर रहे हैं? –

+0

मैं कोणीय 1.0.7 का उपयोग कर रहा हूँ। – user2887964

उत्तर

12

इस कोड मेरे लिए काम करता है:

$http.get('data/myjson.json').then(onSuccess, onError); 

function onSuccess(data) { 
} 
function onError(data) { 
} 
+0

हाय मैनुअल, आपके उत्तर के लिए धन्यवाद। जब आप अनुरोध के लिए गलत यूआरएल का उपयोग करते हैं तो ऑनरर फ़ंक्शन निष्पादित हो जाता है? सफलता के मामले में, मेरा कोड काम करता है, समस्या – user2887964

+0

त्रुटि प्रबंधन है त्रुटि त्रुटि के साथ आपका क्या मतलब है? त्रुटियों को संभालने के लिए आपको क्या प्रतिक्रिया मिलती है? –

+0

मेरा मतलब है, जब मैं एक गलत यूआरएल (उदाहरण के लिए dataaaa/myjson.com) डालता हूं, तो मैं ऑनरर को निष्पादित करना चाहता हूं, लेकिन ऑनस्कस को – user2887964

2
$http.get(url).then(onSuccess, onerror); 
    function onSuccess(response) { 
    //Success message here... 
            } 
    function onerror(data) { 

       if(data.status==404) { 
        alert('Invalid URl') 
          return; 
       } 

    } 

बस इस एक कोशिश ...

1

दोनों तरह से एनजी वादा त्रुटि से निपटने के लिए इस्तेमाल किया जा सकता: -

पहले:

$http.get('data/myjson.json') 
.success(successHandler) 
.error(errorHandler) 

function successHandler(data) { 
} 
function errorHandler(data) { 
} 

दूसरा:

$http.get('data/myjson.json').then(successHandler, errorHandler); 

function successHandler(data) { 
} 
function errorHandler(data) { 
}  
संबंधित मुद्दे