スクリプトをMicrosoftのWorld-WideTelescopeアプリに接続しようとしています。後者はポート5050でコマンドをリッスンします。ブラウザと同じマシンで実行されています(現在Chromeですが、私が知る限り、動作はFirefox7とIE9で同じです)。
問題としてXSS制限を排除するために、元のhtmlファイルを含む「Access-Control-Allow-Origin:*」ヘッダーを送信しています。
WWTにアクセスするための私のコードは次のとおりです。
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
この場合のURLは「http://127.0.0.1:5050 / layerApi.aspx?cmd = new&...」です(明らかに...ここではいくつかの追加パラメーターの省略形です)。
Chromeのネットワーク診断を見ると、次のことがわかります。
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
リクエストは送信されます-WWTが新しいレイヤーを作成しているのがわかります。ただし、コールバックがありません。呼び出されるエラーコールバックを追加したが、jqXHRオブジェクトのerrorプロパティが「error」でステータスが0の場合。Chromeでネットワークリクエストを見ると、ステータスとして「(cancelled)」が表示され、応答がありません。 。
同じURLを取得して新しいブラウザタブに貼り付けると、応答が期待されるXMLであることがわかります。
もちろん、ここでの違いは、これがPOSTではなくGETであるということですが、スクリプトで試してみましたが、違いはありません。
私はこれにかなり困惑していて、どんな新鮮なアイデアでもありがたいです。
error
コールバックを処理して、エラーが返されるかどうかを確認しましたか?