Saya mencoba menghubungkan skrip ke aplikasi Microsoft World-Wide Telescope. Yang terakhir mendengarkan pada port 5050 untuk perintah. Ini berjalan pada mesin yang sama dengan browser (Chrome sekarang, tapi sejauh yang saya tahu perilakunya sama dengan Firefox 7 dan IE 9).
Saya mengirim header "Access-Control-Allow-Origin: *" dengan file html asli untuk mencoba menghilangkan batasan XSS sebagai masalah saya.
Kode saya untuk mengakses WWT adalah sebagai berikut:
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
url dalam hal ini adalah "http: //127.0.0.1: 5050 / layerApi.aspx? cmd = new & ..." (jelas ... adalah singkatan di sini untuk beberapa parameter tambahan).
Melihat diagnostik jaringan di Chrome, saya dapat melihat ini:
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
Permintaan akan keluar - Saya melihat WWT membuat layer baru. Namun, saya tidak mendapatkan panggilan balik. Jika saya menambahkan callback error yang dipanggil, tetapi properti error pada objek jqXHR hanya "error" dan statusnya 0. Jika saya melihat permintaan jaringan di Chrome, saya melihat "(dibatalkan)" sebagai status dan tidak ada respons .
Jika saya mengambil URL yang sama dan menempelkannya di tab browser baru, saya dapat melihat bahwa tanggapannya adalah XML yang diharapkan.
Tentu saja, perbedaannya di sini adalah bahwa ini adalah GET bukan POST, tetapi saya sudah mencobanya di skrip saya dan tidak ada bedanya.
Saya cukup bingung dengan ini dan akan menghargai ide-ide segar.
sumber
error
panggilan balik untuk melihat apakah itu kembali dengan kesalahan?