2

タイトルにあるように、私の質問は、XMLhttpRequestからのopenメソッドとsendメソッドが実際に機能したかどうかを判断することはできますか?指標はありますか?サンプルコード:

cli = new XMLHttpRequest();
cli.open('GET', 'http://example.org/products');
cli.send();

これに障害処理をコーディングしようとしていますが、要求を処理できるように、要求が失敗したかどうかを確認できる必要があります。

4

2 に答える 2

3

これは非同期操作です。リクエストが送信されている間、スクリプトは実行を継続します。

コールバックを使用して状態の変化を検出します。

var cli = new XMLHttpRequest();
cli.onreadystatechange = function() {
        if (cli.readyState === 4) {
            if (cli.status === 200) {
                       // OK
                       alert('response:'+cli.responseText);
                       // here you can use the result (cli.responseText)
            } else {
                       // not OK
                       alert('failure!');
            }
        }
};
cli.open('GET', 'http://example.org/products');
cli.send();
// note that you can't use the result just here due to the asynchronous nature of the request
于 2012-07-05T20:05:17.693 に答える
-1
req = new XMLHttpRequest;
req.onreadystatechange = dataLoaded;
req.open("GET","newJson2.json",true);
req.send();

function dataLoaded()
{
    if(this.readyState==4 && this.status==200)
    {
        // success
    }
    else
    {
        // io error
    }
}
于 2012-07-05T20:17:32.780 に答える