2012-10-08 18 views
6

सेट नहीं कर रहा है, मैं एक AngularJS संसाधन मॉड्यूल लिखने की कोशिश कर रहा हूं जो सर्वर पर कुछ डेटा पोस्ट करेगा। डिफ़ॉल्ट सामग्री-प्रकार "एप्लिकेशन/एक्सएमएल" प्रतीत होता है। मैं सामग्री-प्रकार को "एप्लिकेशन/एक्स-www-form-urlencoded" पर ओवरराइड करने का प्रयास कर रहा हूं। सामान्य $ http.post() करते समय मैं सामग्री-प्रकार सेट कर सकता हूं और जब मैं फ़ायरबग में चेक करता हूं, तो मैं इसे सही ढंग से सेट कर सकता हूं। जब मैं संसाधन की POST विधि का उपयोग करता हूं, तो मैं डिफ़ॉल्ट रूप से सामग्री-प्रकार को परिवर्तित नहीं कर सकता। मुझे लगता है कि मैं यह कर रहा हूं कि documentation कैसे वर्णन करता है।AngularJS संसाधन सामग्री-प्रकार

http://jsfiddle.net/vBsUH/3/

var myApp = angular.module('myApp',['myResource']); 

angular.module('myResource', ['ngResource']).factory('myResource', function($resource){ 
    return $resource('/echo/json',{},{ 
     add:{ method:'POST', params:{ foo:'1' }, headers:{'Content-Type':'application/x-www-form-urlencoded'} } 
    }); 
}); 

function MyCtrl($scope,$http,myResource) { 
    $scope.click = function() { 

     //This will make an ajax call with a content-type of application/xml  
     myResource.add(); 

     //this will make an ajax call with a content-type of application/x-www-form-urlencoded 
     $http.post('/echo/json','foo=1',{'headers':{'Content-Type':'application/x-www-form-urlencoded'}}); 

    } 
}​ 

कैसे एक AngularJS संसाधन एक अलग सामग्री प्रकार के साथ पोस्ट करने के लिए प्राप्त करने के लिए पर कोई विचार या उदाहरण बहुत सराहना की जाएगी।

उत्तर

1

जेक, कल मैं कुछ जानकारी एक समान प्रश्न के लिए प्रदान की: https://stackoverflow.com/a/12876784/1367284

चिपकाया जा रहा है कि प्रतिक्रिया नीचे:

जबकि (12 अक्टूबर) के रूप में विकास डॉक्स पता चलता है कि हेडर अधिभावी एक $ संसाधन में संभव है , इसे अभी तक जारी नहीं किया गया है (v1.0.2 या v1.1.0)। सुविधा v1.0.x और मास्टर शाखाओं में है, हालांकि। उस सुविधा को प्राप्त करने के लिए, आप अभी के लिए v1.0.x शाखा से निर्माण पर विचार कर सकते हैं।

कैसे निर्माण करने के लिए: http://docs.angularjs.org/#H1_4

वैकल्पिक रूप से, आप स्नैपशॉट निर्माण से खींच सकता है: http://code.angularjs.org/snapshot/

लग रहा है इस सुविधा की तरह अगली फिल्म में होंगे।