4

次のコードがあります。

var req = new XMLHttpRequest();
req.onload = function(){
    if (req.status === "200"){
        doSomethingWithTheReceivedData();
    }
    else {
        alert("Error msg");
    }
};

ただし、コンピューターから直接 index.html を実行すると (サーバーから提供されていない場合)、スクリプトがしようとしている相対パスのため、Firefox Web コンソールで「NS_ERROR_DOM_BAD_URI: 制限付き URI へのアクセスが拒否されました」というメッセージが表示されます。私のコンピューターではアクセスできません (私のサーバー上にあります)。現在、ユーザーがこのコードをトリガーするボタンをクリックしても何も起こらないため、このエラーを正しく処理したいと考えています。ステータス コード チェックを既に追加しましたが、このエラーの処理には機能していないようです。リクエストが返されないと思いますか? では、このようなエラーをどのように処理すればよいでしょうか。

4

1 に答える 1

2

sendリクエストするときは、try-catch を使用します。

try{
  req.send(null);
}catch(e){
 alert(e.message);
}
于 2015-07-18T14:34:54.643 に答える