2014-05-09 7 views
9

मैं प्राधिकरण हैडर के साथ सर्वर से एक्सएमएल भेजने के लिए है और यह MUST पोस्ट होJQuery AJAX के हैडर प्राधिकरण पोस्ट

अब मेरे पास दो विकल्प हैं।

  1. जब मैं डेटाप्रकार का उपयोग = 'jsonp' यह हमेशा पोस्ट करने के बजाय हो जाता है। इसके अलावा मेरा डेटा एक्सएमएल होना चाहिए।

     var request = {}; 
         request.type = 'POST'; 
         request.contentType = 'application/jsonp; charset=utf-8'; 
         request.dataType = 'jsonp'; 
         request.data = JSON.stringify(this.data); 
         request.url = this.url; 
         request.beforeSend = function (xhr) { 
          xhr.setRequestHeader("Authorization", "Basic "); 
         }; 
    
         request.processData = false; 
         $.ajax(request); 
    
  2. लेकिन डेटाप्रकार बिना = 'jsonp' मैं प्रमाणीकरण हैडर बिल्कुल जरूरत नहीं है। निम्न कोड केवल क्रोम के लिए काम करता है।

    var request = {}; 
        request.type = 'POST'; 
        request.contentType = 'text/xml'; 
        request.dataType = 'xml'; 
        request.data = this.data; 
        request.url = this.url; 
        request.beforeSend = function (xhr) { 
         xhr.setRequestHeader("Authorization", "Basic "); 
        }; 
    
        request.processData = false; 
        $.ajax(request); 
    

हाँ, मैं जानता हूँ कि StackOverflow पर इसी तरह के सवाल का एक बहुत देखते हैं और मैं उनमें से दर्जनों पढ़ा है, लेकिन अभी भी सही जवाब नहीं मिल रहा है कि।

+0

तो क्या आप की कोशिश की है कि काम नहीं किया है, कुछ कोड पोस्ट! – adeneo

उत्तर

8

संशोधित हेडर beforeSend विधि में, उदाहरण के लिए:

$.ajax({ 
    url: url, 
    method: "POST", 
    dataType: "json", 
    crossDomain: true, 
    contentType: "application/json; charset=utf-8", 
    data: JSON.stringify(data), 
    cache: false, 
    beforeSend: function (xhr) { 
     /* Authorization header */ 
     xhr.setRequestHeader("Authorization", "Basic " + Utils.getUsernamePassword()); 
     xhr.setRequestHeader("X-Mobile", "false"); 
    }, 
    success: function (data) { 

    }, 
    error: function (jqXHR, textStatus, errorThrown) { 

    } 
}); 
+1

हां, मैंने पहले ही यह किया है, लेकिन जब मैं डेटा टाइप करता हूं टाइप = "जेसन" यह प्राप्त हो जाता है। मैं क्या गलत कर रहा हूँ? – user3392045

+0

क्या आप अपना कोड साझा कर सकते हैं? –

+0

अद्यतन प्रश्न देखें – user3392045

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