1

Hy, wenn ich versuche, über JavaScript von meinem Server/lokalen Computer auf die Microsoft Cognitive Services-API zuzugreifen, erhalte ich den folgenden Fehler.Microsoft Cognitive Services JavaScript-Anforderung 'Access-Control-Allow-Origin'

XMLHttpRequest cannot load http://api.projectoxford.ai/vision/v1.0/analyze?visualFeatures=Categories. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://myUrl.com' is therefore not allowed access. The response had HTTP status code 401. 

Das ist mein Anforderungscode:

function requestAPI(){ 
var params = { 
     // Request parameters 
     "visualFeatures": "Categories" 
}; 

$.ajax({ 
     url: "http://api.projectoxford.ai/vision/v1.0/analyze?" + $.param(params), 
     beforeSend: function(xhrObj){ 
      // Request headers 
      xhrObj.setRequestHeader("Content-Type","application/json"); 
      xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{myKey}"); 
     }, 
     type: "POST", 
     // Request body 
     data: "{'url':'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg'}", 
    }) 
    .done(function(data) { 
     alert("success"); 
    }) 
    .fail(function() { 
     alert("error"); 
    }); 

}

In meinem .htaccess ich bereits hinzugefügt:

Header add Access-Control-Allow-Origin "*" 
Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" 
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" 

Als ich die Anfrage mit hurl.it testen funktioniert. Nur von meinem Server geht das nicht.

+1

Und mit 'Header Set' für alle von ihnen? – Croises

Antwort

1

Sieht so aus, als würden Sie CORS-Header für Ihren Server festlegen, was bedeutet, dass jemand eine domainübergreifende Anfrage an Ihren Server stellen kann.

Microsoft Cognitive Services müssen diese Header auf ihrem Server hinzufügen, sodass Sie eine domänenübergreifende Anforderung an sie senden können, oder Sie müssen JSONP verwenden.

+0

"oder Sie müssen JSONP verwenden" - was Microsoft auch implementieren müsste. – Quentin

Verwandte Themen