2013-10-13 24 views
7

i HTTP Yetkilendirme başlığıyla CORS istekleri ilgili bir sorum var? İşte angularjs ve Alanları Arası POST

benim Açısal kodudur:

var app = angular.module('app', []) 
    .config(['$httpProvider', function($httpProvider) { 
     $httpProvider.defaults.useXDomain = true; 
     delete $httpProvider.defaults.headers.common['X-Requested-With']; 
    }]); 

    app.controller('ctrl', function ($scope, $http) { 
     $scope.insert = function() { 

      $http.post('http://my.api.com/Insert', 
       { 
        headers: { 
         'Authorization': 'Basic dGVzdDp0ZXN0', 
         'Content-Type': 'application/x-www-form-urlencoded' 
        }, 
        data: { 
         'Code': 'test data' 
        }, 
        withCredentials: true 
       }); 
     }; 
    }); 

Sunucu tarafında benim web.config bu var

<httpProtocol > 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    <add name="Access-Control-Allow-Headers" value="Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With" /> 
    <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" /> 
    <add name="Access-Control-Allow-Credentials" value="true" /> 
    </customHeaders> 
</httpProtocol> 
+0

u bunun için bir çözüm buldular? –

cevap

11

$http.post yanlış kullanıyorsunuz. İkinci parametre, sunucuya göndermeniz gereken verileridir, üstbilgileri bu şekilde ayarlayamazsınız. Senin durumunda, bu JSON yük

olarak bütün nesneyi gönderecek bu deneyin:

$http({ 
     url:'http://my.api.com/Insert', 
     method:"POST", 
     headers: { 
        'Authorization': 'Basic dGVzdDp0ZXN0', 
        'Content-Type': 'application/x-www-form-urlencoded' 
     }, 
     data: { 
       'Code': 'test data' 
     } 
    }); 
+0

yardım etmiyor Thats it, teşekkürler! Düzeltmek zorunda olduğum bir şey daha: UseCredentials ile kullanamazsınız: Access-Control-Allow-Origin'e sahipseniz true: * – aron

+0

@aron: teşekkürler, güncellendi. Benim durumumda –

+0

işe yaramadı; –

0

withCredentials - {boole} - on withCredentials bayrağını ayarlamak için verilip XHR nesnesi. Daha fazla bilgi için kimlik bilgileri isteklerine bakın.

+0

Bunu denedim, – aron

İlgili konular