0

PhoneGapを使用してクロスプラットフォームアプリケーションを開発しています。ある時点で、相対パスに対してAJAXリクエストを行います。これは、AndroidとiOSの両方で正常に機能しますが、WindowsPhoneでは機能しません。404応答を受け取ります。絶対URLは正常に機能します。次のコード:

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が要求している絶対パスを知る方法はありますか?

4

3 に答える 3

0

XMLHttpRequest は、Microsoft によって設計され、Mozilla、Apple、および Google によって採用された JavaScript オブジェクトであり、Phonegap とは関係ありません。

https://developer.mozilla.org/en/DOM/XMLHttpRequest

これは、Fiddler のような http プロキシを使用して、すべての http トラフィックを表示することを試みることができます。

http://www.fiddler2.com/fiddler2/

よろしくお願いします。

于 2012-05-09T09:47:53.110 に答える
0

私のプロジェクト (Phonegap/WinPhone7) であなたのコードを試しましたが、リクエストを初期化するまでコードは何も得られませんでした ( xhr.send();)。

このメソッドなしでリクエストを行う方法がわかりません。

于 2013-07-29T16:14:18.870 に答える
0

このような場合、Fiddler Web Debuggerは無敵です。リクエストが何をしているかを正確に教えてくれます。

また、Windows Phone エミュレーターでも動作します。実際のデバイスをデバッグするには、外部接続を受け入れるように Fiddler をセットアップし、Fiddler を電話のプロキシとして割り当てます。私は両方のシナリオを実行しましたが、正常に動作します。

試してみます。

于 2012-05-09T09:31:18.753 に答える