2014-05-09 22 views
9

Ben Yetkilendirme başlığında ile sunucuya XML göndermek zorunda ve zorunluluktur SONRASIolmak.JQuery AJAX Başlık Yetkilendirme SONRASI

Şimdi iki seçenek var.

  1. dataType = 'jsonp' kullandığımda her zaman POST yerine GET olur. Ayrıca verilerim XML olmalı.

     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. Ama dataType olmadan

    = 'jsonp' Ben hiç Kimlik başlığı yok. Aşağıdaki kod sadece Chrome için geçerlidir.

    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); 
    

Evet orada StackOverflow'daki benzer birçok soru vardır ve bunlardan düzinelerce okudum ama hala doğru cevabı bulmuyorum biliyoruz. beforeSend yöntemde, örneğin

+0

Yani işe yaramadı çalıştı ne var, bazı kod sonrası! – adeneo

cevap

8

Değiştir başlıkları:

$.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

Evet, zaten bunu ama dataType = "json" set zaman GET olur. Ben yanlış yapıyorum ne ? – user3392045

+0

ur kodunu paylaşabilir misiniz? –

+0

soruyu – user3392045