2012-05-09 39 views
0

我們正在使用PhoneGap開發一個跨平臺的應用程序。有一點,它會向相對路徑發出AJAX請求,這在Android和iOS上都能正常工作,但不會在Windows Phone上 - 它會得到404響應。絕對URL正常工作。以下代碼:找出XMLHttpRequest正在請求的是什麼

var a = document.createElement('a'); 
a.setAttribute('href', 'personalData.html'); 
console.log(a.href); 

也解析爲正確的絕對URL。但是,以下內容:

var xhr = new XMLHttpRequest(); 
xhr.open("GET", "personalData.html", true); 
xhr.onreadystatechange = function() { 
    if (xhr.readyState === 4) { 
     console.log(xhr); 
    } 
}; 

返回404.我想知道發生了什麼。有什麼方法可以知道XHR要求什麼絕對路徑?

回答

0

在這些情況下,Fiddler Web Debugger是無與倫比的。它會準確地告訴你請求正在做什麼。

它也是works with the Windows Phone emulator。要調試實際設備,請設置FIddler以接受外部連接,並將Fiddler分配爲手機上的代理。 我已經完成了這兩種情況,工作正常。

給它一個鏡頭。

+0

不幸的是,這一切都發生在模擬器/手機內部,所以請求永遠不會到達提琴手。 – Nikolai

+0

從你身邊的假設。我會爭辯說,這仍然應該是可能的,我已經做了幾次我自己。看到我更新的答案。 –

+0

它可以很好地捕獲對外部資源的請求。但是我的問題發生在請求本地html文件時,比如/app/www/pages/home.html。提琴手沒有看到這些。 – Nikolai

0

我已經在我的項目(Phonegap/WinPhone7)中嘗試了您的代碼,並且在我初始化請求(xhr.send();)之前,您的代碼沒有得到任何東西。

我不知道如何使用此方法提出請求。

相關問題