2015-11-11 7 views
5

मेरे पास एक Angularjs एप्लिकेशन है जो वेब सेवा कॉल करने के लिए $http.post() का उपयोग करता है। जिस विधि को कॉल किया गया है वह void रिटर्न प्रकार है, और यह 204 (कोई सामग्री नहीं) प्रतिक्रिया कोड उत्पन्न करता है। यह त्रुटि फ़ंक्शन में जाता है जिसे .then() कॉलबैक में परिभाषित किया गया है, और लॉग में "कोई तत्व नहीं मिला" प्रिंट करता है।204 की कोई पोस्ट प्रतिक्रिया (कोई सामग्री नहीं) Angularjs त्रुटि फ़ंक्शन को ट्रिगर क्यों करती है?

यदि मैं विधि से कुछ भी लौटाता हूं, तो यह सामान्य 200 प्रतिक्रिया कोड देता है।

सफलता कोड त्रुटि कार्य को ट्रिगर क्यों कर रहा है?

कोड के रूप में अनुरोध:

function myFn(inputData) { 
    var d = { data: inputData }; 
    $http.post("../api/my/serverFn", d) 
     .then(
      function(response) { 
       $rootScope.AddMsg("Success"); 
      }, 
      function(response) { 
       // The 204 response goes here. 
       $rootScope.AddMsg("Error"); 
      }); 
} 

अनुरोध किया स्क्रीनशॉट: enter image description here

+0

अपना कोड पोस्ट करें। –

+0

अनुरोध के रूप में कोड पोस्ट किया गया। मुझे लगता है कि सर्वर फ़ंक्शन असीमित है। – Sako73

+0

क्या आपने त्रुटि संदेश कोणीय का निरीक्षण किया था? ... –

उत्तर

5

AngularJS देशी रूप में एक त्रुटि के रूप में 204 प्रतिक्रिया पर विचार नहीं करता। जांच से पता चला कि वास्तव में स्टैक में एक HTTP इंटरसेप्टर था जिसने वादे को खारिज कर दिया था अगर प्रतिक्रिया प्राप्त करने के लिए 204 स्थिति थी, जिससे एक प्रतिक्रिया में सफल प्रतिक्रिया बदल गई।

+0

सहायता के लिए धन्यवाद – Sako73

संबंधित मुद्दे