2011-10-20 20 views
1

それぞれjqueryを使用していて、ajax呼び出しを使用してファイルが存在するかどうかを確認しています。 コードをご覧ください。jquery ajax各ファイルが存在するネットワークエラー

$(".documentLbl").each(function(){ 
      var actionUrl = $("input", this).val(); // url will be like - http://<<IP>>:<<PORT>>/.../fullTextURL/pdf"; 
      if(actionUrl != null){ 
       $.ajax({ 
       type: 'head', 
       url: actionUrl, 
       data: {}, 
       async: false, 
       dataType: "json", 
       contentType: "application/json; charset=utf-8", 
       success: function() { 
        alert("..success.."); 
       }, 
       error: function(xhr, textStatus, errorThrown) { 
        if (textStatus !== null) { 
         alert("error: " + textStatus); 
        } else if (errorThrown !== null) { 
         alert("exception: " + errorThrown.message); 
        } 
        else { 
         alert ("error"); 
        } 
       } 
      }); 
      } 
     }); 

私は、ブラウザのJSONファイルを取得しますが、ここのようにjqueryのAJAXを使用するときにエラーを取得して渡されたときに、JSONのURLにアクセスすることができています:「NetworkError:500内部サーバーエラー....」

助けてください、事前に

おかげで...

編集:私はJSONを使用していますことを確認するには、逃しました。リクエストごとに更新されます

+0

は、 – Max

+0

をエラーに行くあなたが作るしようとしています外部URLへのAJAX呼び出し?もしあなたがそうであれば、それは決してうまくいかないでしょう:http://en.wikipedia.org/wiki/Same_origin_policy –

+0

それは同じポートから来たものです – Max

答えて

0

これで問題が解決するかどうかはわかりませんが、「HEAD」はajax Typeパラメータの有効なオプションではないと思います。 documentationには、有効なオプションとして「POST」または「GET」と記載されています。

+0

また、 'post'または 'get'で試してみました。今すぐ有効なURLがあれば成功していますが、無効なURLがエラーブロックにならない場合 – Max

0

代わりに、あなたのAjax呼び出しの最後でエラーを使用しての、この1試してみてください。

$("#someDivId").ajaxComplete(function(request, settings){ 
    if (settings.status===404){ 
     alert("Sad! It's not available."); 
    } 
}); 

またはこの1:ネットワークエラー場合

$.ajax({ 
    ..., 
    statusCode: { 
     404: function() { 
      alert('page not found'); 
     } 
    } 
}); 
+0

私のコードは改善されましたが、常に私の 'settings.status'は '200'です。たとえURLが「200」になっても失敗しても、 – Max

関連する問題