Ich versuche, ein Skript an die World-Wide Telescope-App von Microsoft anzuschließen. Letzterer wartet auf Port 5050 auf Befehle. Es läuft auf demselben Computer wie der Browser (Chrome im Moment, aber soweit ich das beurteilen kann, ist das Verhalten bei Firefox 7 und IE 9 dasselbe).
Ich sende einen "Access-Control-Allow-Origin: *" - Header mit der ursprünglichen HTML-Datei, um zu versuchen, XSS-Einschränkungen als mein Problem zu beseitigen.
Mein Code für den Zugriff auf WWT lautet wie folgt:
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
Die URL lautet in diesem Fall "http: //127.0.0.1: 5050 / layerApi.aspx? cmd = new & ..." (offensichtlich ... ist hier eine Abkürzung für einige zusätzliche Parameter).
Wenn ich mir die Netzwerkdiagnose in Chrome ansehe, sehe ich Folgendes:
Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&...
Request Headersview source
Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:http://gwheeler4
Referer:http://gwheeler4/conceptconnect.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
Die Anfrage geht aus - ich sehe, dass WWT eine neue Ebene erstellt. Ich bekomme jedoch keinen Rückruf. Wenn ich einen Fehlerrückruf hinzufüge, der aufgerufen wird, die Fehlereigenschaft für das jqXHR-Objekt jedoch nur "Fehler" und der Status 0 ist. Wenn ich die Netzwerkanforderung in Chrome betrachte, wird "(abgebrochen)" als Status und keine Antwort angezeigt .
Wenn ich dieselbe URL nehme und in einen neuen Browser-Tab einfüge, kann ich sehen, dass die Antwort das erwartete XML ist.
Ein Unterschied hier ist natürlich, dass dies ein GET ist, kein POST, aber ich habe das in meinem Skript versucht und es macht keinen Unterschied.
Ich bin ziemlich verblüfft und würde mich über neue Ideen freuen.
errorRückruf zu verarbeiten, um festzustellen, ob er mit einem Fehler zurückgegeben wird?