Ich versuche, einen JavaScript-Client für Visual Studio Team Services-REST-API zu schreiben, die AJAX-Anfragen an unseren selbst gehosteten Team Foundation Server 2015 senden, aber ich stehe vor einer Kreuzung Domänenproblem.AJAX Cross-Domain-Problem mit Visual Studio Team Services-REST-API
Die API erfordert Anmeldeinformationen für die Authentifizierung, aber aus Sicherheitsgründen blockiert der Browser meine Anforderungen, weil der Parameter Access-Control-Allow-Origin
mit dem Platzhalter *
festgelegt ist.
Ich habe versucht, diesen Parameter in HTTP-Antwortheadern im IIS-Manager und auch in der TFS web.config-Datei (die eigentlich gleich ist) hinzuzufügen, aber ich habe einen Fehler erhalten, der mir sagt, dass dieser Parameter zwei verschiedene Werte hat (zB: *
und http://localhost:58785
) und sollte nur eins haben. Ich denke, dieser Wert ist bereits im Code der Bibliothek definiert, auf den ich nicht zugreifen kann, weil der TFS-Webdienst bereits kompiliert wurde und auf IIS ausgeführt wird.
Ich habe auch versucht, das Markup <location allowOverride="false">
in web.config zu verwenden, um die Konfiguration zu überschreiben, aber in diesem Fall wird TFS nicht gestartet.
Jemand fragte bereits über dieses Thema here und erzielte auch ein Ticket auf uservoice aber wie der Name des API wirklich mehrdeutig (Visual Studio Online REST API) ist, ich weiß nicht, ob dieser Mann spricht über die realen Visual Studio online oder wenn sein Fall derselbe ist wie meiner (selbst gehosteter TFS Server).
Wir haben bereits einige Funktionen in C# implementiert, die gut funktionieren, aber jetzt müssen wir wirklich einen JavaScript-Client implementieren. Einen Webservice zu schreiben und ihn als Proxy zu benutzen, um die API abzufragen, ist für uns ein echtes Chaos und wir wollen das nicht tun.
Das ist so traurig, dass wir aufgrund einer Konfiguration, die wir nicht ändern können, keine AJAX-Anfragen an die API senden können.
Ich habe genau die gleichen Probleme. Ich hoffte, einen JavaScript-Client erstellen zu können. –